Pessoal, segue abaixo o código do meu JInternalFrame.
Vc’s poderiam verificar se eu estou declarando corretamente minhas váriaveis e constantes?
[code]import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameListener;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
@SuppressWarnings(“serial”)
public class JanelaCidades extends Persistencia {
private static DefaultTableModel modelo = new DefaultTableModel() {
public boolean isCellEditable(int rowIndex, int mColIndex) {
return false;
}
};
private static String cidadeSelecionada = null;
private static String UFSelecionado = null;
static JInternalFrame montaJanelaCidades() {
final JInternalFrame janelaCidades = new JInternalFrame();
try {
janelaCidades.setLayout(null);
Font fontPadrao = new Font("Verdana", 4, 11);
// -----------------------------------------------------------------
// Label Cidade
JLabel lbl_cidade = new JLabel("Cidade");
lbl_cidade.setFont(fontPadrao);
lbl_cidade.setLocation(10, 10);
lbl_cidade.setSize(40, 10);
janelaCidades.add(lbl_cidade);
// -----------------------------------------------------------------
// Text Cidade
final JTextField txt_cidade = new JTextField();
txt_cidade.setFont(fontPadrao);
txt_cidade.setLocation(10, 26);
txt_cidade.setSize(385, 20);
janelaCidades.add(txt_cidade);
// -----------------------------------------------------------------
// Label UF
JLabel lbl_UF = new JLabel("UF");
lbl_UF.setFont(fontPadrao);
lbl_UF.setLocation(400, 10);
lbl_UF.setSize(40, 10);
janelaCidades.add(lbl_UF);
// -----------------------------------------------------------------
// ComboBox UF
final JComboBox cmb_UF = new JComboBox();
cmb_UF.setFont(fontPadrao);
cmb_UF.setLocation(400, 25);
cmb_UF.setSize(60, 20);
cmb_UF.setBackground(txt_cidade.getBackground());
cmb_UF.addItem("AC");
cmb_UF.addItem("AL");
cmb_UF.addItem("AP");
cmb_UF.addItem("AM");
cmb_UF.addItem("BA");
cmb_UF.addItem("CE");
cmb_UF.addItem("DF");
cmb_UF.addItem("GO");
cmb_UF.addItem("MA");
cmb_UF.addItem("MG");
cmb_UF.addItem("MS");
cmb_UF.addItem("MT");
cmb_UF.addItem("PA");
cmb_UF.addItem("PB");
cmb_UF.addItem("PR");
cmb_UF.addItem("PE");
cmb_UF.addItem("PI");
cmb_UF.addItem("RJ");
cmb_UF.addItem("RN");
cmb_UF.addItem("RO");
cmb_UF.addItem("RR");
cmb_UF.addItem("SC");
cmb_UF.addItem("SE");
cmb_UF.addItem("SP");
cmb_UF.addItem("TO");
cmb_UF.setSelectedItem("SP");
janelaCidades.add(cmb_UF);
// -----------------------------------------------------------------
// JButton Inserir
final JButton btn_Inserir = new JButton("Inserir");
final ImageIcon imgInserir = new ImageIcon("imgs/16x16/inserir.png");
btn_Inserir.setIcon(imgInserir);
btn_Inserir.setFont(fontPadrao);
btn_Inserir.setSize(100, 28);
btn_Inserir.setLocation(10, 60);
janelaCidades.add(btn_Inserir);
// -----------------------------------------------------------------
// JButton Alterar
final JButton btn_Alterar = new JButton("Alterar");
final ImageIcon imgAlterar = new ImageIcon("imgs/16x16/alterar.png");
btn_Alterar.setIcon(imgAlterar);
btn_Alterar.setFont(fontPadrao);
btn_Alterar.setSize(110, 28);
btn_Alterar.setLocation(115, 60);
janelaCidades.add(btn_Alterar);
// -----------------------------------------------------------------
// JButton Confirmar
final JButton btn_Confirmar = new JButton("Confirmar");
final ImageIcon imgConfirmar = new ImageIcon(
"imgs/16x16/confirmar.png");
btn_Confirmar.setIcon(imgConfirmar);
btn_Confirmar.setFont(fontPadrao);
btn_Confirmar.setSize(115, 28);
btn_Confirmar.setLocation(230, 60);
btn_Confirmar.setEnabled(false);
janelaCidades.add(btn_Confirmar);
// -----------------------------------------------------------------
// JButton Remover
final JButton btn_Remover = new JButton("Remover");
final ImageIcon imgRemover = new ImageIcon("imgs/16x16/remover.png");
btn_Remover.setIcon(imgRemover);
btn_Remover.setFont(fontPadrao);
btn_Remover.setSize(110, 28);
btn_Remover.setLocation(350, 60);
btn_Remover.setEnabled(false);
janelaCidades.add(btn_Remover);
// -----------------------------------------------------------------
// JTable
final JTable gridAlterarRemover = new JTable(modelo);
gridAlterarRemover.setFont(fontPadrao);
// Monta o Grid
if (modelo.getColumnCount() != 2) {
modelo.addColumn("Cidade");
modelo.addColumn("UF");
}
final JScrollPane scrollAlterarRemover = new JScrollPane(
gridAlterarRemover);
scrollAlterarRemover.setLocation(10, 140);
scrollAlterarRemover.setSize(450, 130);
scrollAlterarRemover.setFont(fontPadrao);
DefaultTableCellRenderer centralizado = new DefaultTableCellRenderer();
centralizado.setHorizontalAlignment(SwingConstants.CENTER);
gridAlterarRemover.getColumnModel().getColumn(1).setCellRenderer(
centralizado);
gridAlterarRemover.setEnabled(false);
janelaCidades.add(scrollAlterarRemover);
// -----------------------------------------------------------------
// Monta janela
janelaCidades.setSize(480, 313);
janelaCidades.setMaximizable(false);
janelaCidades.setResizable(false);
janelaCidades.setClosable(true);
janelaCidades.setLocation(10, 50);
janelaCidades.setTitle("Cidades");
janelaCidades.setVisible(true);
janelaCidades
.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
atualizarGrid();
// -----------------
janelaCidades.addInternalFrameListener(new InternalFrameListener() {
@Override
public void internalFrameOpened(InternalFrameEvent e) {
}
@Override
public void internalFrameIconified(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameDeiconified(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameDeactivated(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameClosing(InternalFrameEvent e) {
cidadeSelecionada = null;
UFSelecionado = null;
try {
finalize();
} catch (Throwable e1) {
JOptionPane.showMessageDialog(null, e1.getMessage(), "Atenção", 2);
}
}
@Override
public void internalFrameClosed(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
@Override
public void internalFrameActivated(InternalFrameEvent e) {
// TODO Auto-generated method stub
}
});
// ===================================================================
// txt_cidade LOSTFocus
txt_cidade.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
txt_cidade.setText(txt_cidade.getText().toUpperCase());
cidadeSelecionada = txt_cidade.getText();
}
@Override
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub
}
});
// ===================================================================
// Seleciona linha do Grid
gridAlterarRemover.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent e) {
if (gridAlterarRemover.isEnabled()) {
cidadeSelecionada = (String) gridAlterarRemover
.getValueAt(
gridAlterarRemover.getSelectedRow(), 0);
txt_cidade.setText(cidadeSelecionada);
// ----------------------
UFSelecionado = (String) gridAlterarRemover.getValueAt(
gridAlterarRemover.getSelectedRow(), 1);
cmb_UF.setSelectedItem(UFSelecionado);
}
}
});
// --------------------------------------------------------------
// botão Inserir
btn_Inserir.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String cidade = txt_cidade.getText();
if (cidade.isEmpty()) {
JOptionPane.showMessageDialog(null,
"O campo 'Cidade' não pode ser vázio.",
"Atenção", 2, null);
return;
}
try {
JanelaCidades
.insertSQL("insert into Cidades (cid_nome, cid_uf) VALUES ('"
+ txt_cidade.getText()
+ "','"
+ cmb_UF.getSelectedItem() + "')");
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
try {
atualizarGrid();
} catch (Exception e1) {
System.out.println(e1.getMessage());
}
}
});
// --------------------------------------------------------------
// botão Alterar
btn_Alterar.addActionListener(new ActionListener() {
final ImageIcon imgCancelar = new ImageIcon("imgs/16x16/cancelar.png");
@Override
public void actionPerformed(ActionEvent e) {
if (btn_Alterar.getText() == "Alterar") {
txt_cidade.setText(null);
btn_Alterar.setText("Cancelar");
btn_Alterar.setIcon(imgCancelar);
btn_Inserir.setEnabled(false);
btn_Confirmar.setEnabled(true);
btn_Remover.setEnabled(true);
gridAlterarRemover.setEnabled(true);
} else if (btn_Alterar.getText() == "Cancelar" ){
btn_Alterar.setText("Alterar");
btn_Alterar.setIcon(imgAlterar);
btn_Inserir.setEnabled(true);
btn_Confirmar.setEnabled(false);
btn_Remover.setEnabled(false);
gridAlterarRemover.setEnabled(false);
txt_cidade.setText(null);
cmb_UF.setSelectedItem("SP");
gridAlterarRemover.setEnabled(false);
}
try {
atualizarGrid();
} catch (Exception e1) {
System.out.println(e1.getMessage());;
}
}
});
// --------------------------------------------------------------
// botão Confirmar
btn_Confirmar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (cidadeSelecionada.isEmpty()) {
JOptionPane.showMessageDialog(null,
"Não há nenhuma cidade selecionada", "Atenção",
2);
return;
} else {
try {
JanelaCidades
.updateSQL("update Cidades set cid_nome='"
+ txt_cidade.getText()
+ "', cid_uf = '"
+ (String) cmb_UF.getSelectedItem()
+ "' where cid_nome ='"
+ cidadeSelecionada + "'");
} catch (Exception e2) {
System.out.println(e2.getMessage());
}
try {
atualizarGrid();
} catch (Exception e1) {
System.out.println(e1.getMessage());
}
txt_cidade.setText(null);
cmb_UF.setSelectedItem("SP");
btn_Inserir.setEnabled(true);
btn_Alterar.setText("Alterar");
btn_Alterar.setIcon(new ImageIcon(
"imgs/16x16/alterar.png"));
btn_Confirmar.setEnabled(false);
btn_Remover.setEnabled(false);
gridAlterarRemover.setEnabled(false);
}
}
});
// --------------------------------------------------------------
// botão Remover
btn_Remover.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (cidadeSelecionada.isEmpty()) {
JOptionPane.showMessageDialog(null,
"Não há nenhuma cidade selecionada", "Atenção",
2);
return;
}
int resp = JOptionPane.showConfirmDialog(null,
"Deseja realmente remover a cidade '"
+ cidadeSelecionada + "'?", "Atenção",
JOptionPane.YES_NO_OPTION);
if (resp == 0) {
try {
JanelaCidades
.deleteSQL("delete from Cidades where cid_nome='"
+ cidadeSelecionada + "'");
} catch (Exception e2) {
System.out.println(e2.getMessage());
} finally {
}
try {
atualizarGrid();
} catch (Exception e1) {
System.out.println(e1.getMessage());
}
txt_cidade.setText(null);
cmb_UF.setSelectedItem("SP");
btn_Inserir.setEnabled(true);
btn_Alterar.setText("Alterar");
btn_Alterar.setIcon(new ImageIcon(
"imgs/16x16/alterar.png"));
btn_Confirmar.setEnabled(false);
btn_Remover.setEnabled(false);
gridAlterarRemover.setEnabled(false);
} else {
return;
}
}
});
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Atenção", 2);
}
return janelaCidades;
}
// =================================================================
// Atualiza o Grid
public static void atualizarGrid() throws Exception {
Class.forName("org.gjt.mm.mysql.Driver");
Connection con = DriverManager
.getConnection("jdbc:mysql://localhost/x_easy?user=root&password=1104");
Statement stm = con.createStatement();
ResultSet rs = stm
.executeQuery("select * from cidades order by cid_nome asc");
try {
// Limpa o Grid
modelo.setNumRows(0);
while (rs.next()) {
modelo.addRow(new String[] { rs.getString("cid_nome"),
rs.getString("cid_uf") });
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Atenção", 2);
} finally {
stm.close();
con.close();
}
}
}[/code]
Obrigado!