Classe acesso:
import java.awt.EventQueue;
public class Acesso extends JFrame {
private JPanel contentPane;
private JTextField tfUsuario;
private JTextField tfSenha;
private JTextField tfAcesso;
private JTable tableAcesso;
Connect con_login;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Acesso frame = new Acesso();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Acesso() {
//Cria um objeto de conexão e conecta com a tabela de login
con_login = new Connect();
con_login.conecta();
con_login.executeSQL("select * from login order by idlogin");
//Cria o form e coloca tamanho
setTitle("Cadastro de contas");
setResizable(false);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 500, 400);
setLocationRelativeTo(null);
//Cria o panel do form
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
//Cria o panel de cima
JPanel panelUp = new JPanel();
panelUp.setBounds(0, 0, 494, 39);
panelUp.setBackground(new Color(70, 130, 180));
contentPane.add(panelUp);
//Cria o panel de baixo
JPanel panelDown = new JPanel();
panelDown.setBounds(0, 333, 494, 39);
panelDown.setBackground(new Color(70, 130, 180));
contentPane.add(panelDown);
//Label do usuario
JLabel lblUsuario = new JLabel("Usuario:");
lblUsuario.setFont(new Font("Arial", Font.PLAIN, 14));
lblUsuario.setBounds(45, 75, 54, 14);
contentPane.add(lblUsuario);
//Label da senha
JLabel lblSenha = new JLabel("Senha:");
lblSenha.setFont(new Font("Arial", Font.PLAIN, 14));
lblSenha.setBounds(45, 121, 46, 14);
contentPane.add(lblSenha);
//Label do acesso
JLabel lblNvAcesso = new JLabel("N\u00EDvel de acesso:");
lblNvAcesso.setFont(new Font("Arial", Font.PLAIN, 14));
lblNvAcesso.setBounds(45, 166, 116, 14);
contentPane.add(lblNvAcesso);
//tf do usuario
tfUsuario = new JTextField();
tfUsuario.setFont(new Font("Arial", Font.PLAIN, 14));
tfUsuario.setBounds(45, 90, 156, 20);
contentPane.add(tfUsuario);
tfUsuario.setColumns(10);
//tf da senha
tfSenha = new JTextField();
tfSenha.setFont(new Font("Arial", Font.PLAIN, 14));
tfSenha.setBounds(45, 135, 156, 20);
contentPane.add(tfSenha);
tfSenha.setColumns(10);
//tf do acesso
tfAcesso = new JTextField();
tfAcesso.setFont(new Font("Arial", Font.PLAIN, 14));
tfAcesso.setBounds(45, 182, 96, 20);
contentPane.add(tfAcesso);
tfAcesso.setColumns(10);
//botão para cadastrar
JButton btnCadastrar = new JButton("Completar Cadastro");
btnCadastrar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int cont = 1;
try
{
con_login.r.last();
cont = con_login.r.getInt("idlogin");
cont++;
String sqlinsert = "insert into login (idlogin, logaccount, logpassword, acesso) values ('"+
cont+"','"+
tfUsuario.getText()+"','"+
tfSenha.getText()+"','"+
tfAcesso.getText()+"')";
con_login.s.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null, "Gravação realizada com sucesso");
con_login.r = con_login.s.executeQuery("Select * from login");
con_login.r.beforeFirst();
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null, "Erro ao gravar dados "+erro);
}
}
});
btnCadastrar.setIcon(new ImageIcon("D:\\TCC - Leak Software\\Leak\\Leak\\src\\icons\\1341608046_save_24.png"));
btnCadastrar.setFont(new Font("Arial", Font.PLAIN, 12));
btnCadastrar.setBounds(38, 233, 184, 39);
contentPane.add(btnCadastrar);
//JTable
ArrayList<String[]> dados = new ArrayList<String[]>();
String[] colunas = new String[] { "Id", "Usuario", "Senha", "Acesso" };
try
{
con_login.r.beforeFirst();
while (con_login.r.next())
{
dados.add(new String[]{con_login.r.getString("idlogin"),
con_login.r.getString("logaccount"),
con_login.r.getString("logpassword"),
con_login.r.getString("acesso")});
}
con_login.r.first();
}
catch (SQLException erro)
{
JOptionPane.showMessageDialog(null, "Não foi possivel informar os dados "+erro);
}
JScrollPane jscrollPane = new JScrollPane(tableAcesso);
contentPane.add(jscrollPane);
AcessoTModel modelo = new AcessoTModel(dados, colunas);
tableAcesso = new JTable(modelo);
tableAcesso.setBounds(232, 75, 252, 214);
contentPane.add(tableAcesso);
tableAcesso.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
}
}
Código do modelo:
package utilitarios;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
public class AcessoTModel extends AbstractTableModel{
private ArrayList linhas = null;
private String[] colunas = null;
public String[] getColunas(){
return colunas;
}
public ArrayList getLinhas(){
return linhas;
}
public void setColunas(String[] strings){
colunas = strings;
}
public void setLinhas(ArrayList list){
linhas = list;
}
public int getColumnCount() {
return getColunas().length;
}
public int getRowCount() {
return getLinhas().size();
}
public Object getValueAt(int rowIndex, int columnIndex) {
String [] linha = (String [])getLinhas().get(rowIndex);
return linha[columnIndex];
}
public AcessoTModel(ArrayList dados, String[] colunas){
setLinhas(dados);
setColunas(colunas);
}
public String getColumnName(int column)
{
return getColunas()[column];
}
}