Boa tarde a todos,
Minha duvida é a seguinte:
Quero fazer um método nesse formulário a seguir, onde criará um padrão para todos os formularios de cadastro.
Como tenho botões iguais nos forms, posso aproveitar alguns métodos como habilitar(), desabilitar(),habilitarB(),clear() e outros futuros.
Agora você se pergunta, de que forma? Minha ideia está no método jTFConfig() (jTextFields Config), onde envés de digitar jTextFieldCod e o que for em todos os métodos de todos forms, crio esse método de configuração, onde eu como programador apenas vou lá e falo que jTextFieldCod é meu jTextField0 do código e copio e colo esse código padrão em todos os forms, fazendo pequenos ajustes de quem é o que.
import conection.DataBaseConfig;
import home.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class fornecedores extends javax.swing.JInternalFrame {
DataBaseConfig dbconfig = new DataBaseConfig();
private TelaPrincipal frmTelaPrincipal;
String userDB = dbconfig.getUsername();
String passDB = dbconfig.getPassword();
String url = dbconfig.getUrl();
Connection conn;
Statement stmtInt;
ResultSet rs;
short Cod;
String Nome;
String Site;
long CNPJ;
String Email;
int CEP;
String End;
int Num;
String Compl;
String Bairro;
String Cidade;
long Fone1;
long Fone2;
long Fax;
String Obs;
public fornecedores(TelaPrincipal frmTelaPrincipal) {
initComponents();
jButtonSalvar.setEnabled(false);
jButtonCancelar.setEnabled(false);
this.frmTelaPrincipal = frmTelaPrincipal;
}
@SuppressWarnings("unchecked")
private void initComponents(){
.
.
.
}
private void jButtonSairActionPerformed(java.awt.event.ActionEvent evt) {
if (JOptionPane.showConfirmDialog(this, "Deseja sair?", "Confirme a saída", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
habilitarB();
desabilitar();
this.setVisible(false);
frmTelaPrincipal.ativaMenuItemFornec();
}
}
private void jButtonNovoActionPerformed(java.awt.event.ActionEvent evt) {
habilitarB();
jButtonNovo.setEnabled(false);
jButtonInicio.setEnabled(false);
jButtonAnterior.setEnabled(false);
jButtonProximo.setEnabled(false);
jButtonUltimo.setEnabled(false);
jButtonLocalizar.setEnabled(false);
jButtonExcluir.setEnabled(false);
jButtonAlterar.setEnabled(false);
habilitar();
clear();
}
private void jButtonCancelarActionPerformed(java.awt.event.ActionEvent evt) {
clear();
desabilitar();
habilitarB();
}
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
getAll();
connect();
try {
stmtInt.execute("INSERT INTO FORNECEDORES (COD_FORNECEDOR,NOME,SITE,CNPJ,EMAIL,CEP,ENDEREÇO,NUM,COMPL,BAIRRO,CIDADE,FONE1,FONE2,FAX,OBS) "
+ "VALUES (" + Cod + ",'" + Nome + "','" + Site + "'," + CNPJ + ",'" + Email + "'," + CEP + ",'" + End + "'," + Num + ",'" + Compl + "','" + Bairro + "','" + Cidade + "'," + Fone1 + "," + Fone2 + "," + Fax + ",'" + Obs + "')");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
disconnect();
//clear();
desabilitar();
habilitarB();
}
//##############################jTextFields Config###################################
private void jTFConfig() {
JFormattedTextField jTextField0 = jTextFieldCod;
JFormattedTextField jTextField1 = jTextFieldCod;
JFormattedTextField jTextField2 = jTextFieldCod;
JFormattedTextField jTextField3 = jTextFieldCod;
JFormattedTextField jTextField4 = jTextFieldCod;
JFormattedTextField jTextField5 = jTextFieldCod;
JFormattedTextField jTextField6 = jTextFieldCod;
JFormattedTextField jTextField7 = jTextFieldCod;
JFormattedTextField jTextField8 = jTextFieldCod;
JFormattedTextField jTextField9 = jTextFieldCod;
JFormattedTextField jTextField10 = jTextFieldCod;
JFormattedTextField jTextField11 = jTextFieldCod;
JFormattedTextField jTextField12 = jTextFieldCod;
JFormattedTextField jTextField13 = jTextFieldCod;
JFormattedTextField jTextField14 = jTextFieldCod;
/*
JFormattedTextField jTextField n =jTextField n;
.
.
.
*/
}
//###################################################################################
private void habilitar() {
jTextFieldCod.setEditable(true);
jTextFieldEmail.setEditable(true);
jTextFieldSite.setEditable(true);
jTextFieldCNPJ.setEditable(true);
jTextFieldEmail.setEditable(true);
jTextFieldCEP.setEditable(true);
jTextFieldEnd.setEditable(true);
jTextFieldNum.setEditable(true);
jTextFieldCompl.setEditable(true);
jTextFieldBairro.setEditable(true);
jTextFieldCidade.setEditable(true);
jTextFieldFone1.setEditable(true);
jTextFieldFone2.setEditable(true);
jTextFieldFax.setEditable(true);
jTextAreaObs.setEditable(true);
jTextFieldCod.requestFocusInWindow();
}
private void desabilitar() {
jTextFieldCod.setEditable(false);
jTextFieldEmail.setEditable(false);
jTextFieldSite.setEditable(false);
jTextFieldCNPJ.setEditable(false);
jTextFieldEmail.setEditable(false);
jTextFieldCEP.setEditable(false);
jTextFieldEnd.setEditable(false);
jTextFieldNum.setEditable(false);
jTextFieldCompl.setEditable(false);
jTextFieldBairro.setEditable(false);
jTextFieldCidade.setEditable(false);
jTextFieldFone1.setEditable(false);
jTextFieldFone2.setEditable(false);
jTextFieldFax.setEditable(false);
jTextAreaObs.setEditable(false);
}
private void habilitarB() {
jButtonInicio.setEnabled(true);
jButtonAnterior.setEnabled(true);
jButtonProximo.setEnabled(true);
jButtonUltimo.setEnabled(true);
jButtonLocalizar.setEnabled(true);
jButtonNovo.setEnabled(true);
jButtonSalvar.setEnabled(true);
jButtonCancelar.setEnabled(true);
jButtonExcluir.setEnabled(true);
jButtonAlterar.setEnabled(true);
jButtonSair.setEnabled(true);
}
private void clear() {
jTextFieldCod.setText("");
jTextFieldEmail.setText("");
jTextFieldSite.setText("");
jTextFieldCNPJ.setText("");
jTextFieldEmail.setText("");
jTextFieldCEP.setText("");
jTextFieldEnd.setText("");
jTextFieldNum.setText("");
jTextFieldCompl.setText("");
jTextFieldBairro.setText("");
jTextFieldCidade.setText("");
jTextFieldFone1.setText("");
jTextFieldFone2.setText("");
jTextFieldFax.setText("");
jTextAreaObs.setText("");
}
private void getAll() {
String SCod = jTextFieldCod.getText();
SCod = SCod.replace(".", "");
Cod = Short.parseShort(SCod);
Nome = jTextFieldEmail.getText();
Site = jTextFieldSite.getText();
String SCNPJ = jTextFieldCNPJ.getText();
SCNPJ = SCNPJ.replace(".", "");
SCNPJ = SCNPJ.replace("/", "");
SCNPJ = SCNPJ.replace("-", "");
CNPJ = Long.parseLong(SCNPJ);
Email = jTextFieldEmail.getText();
String SCEP = jTextFieldCEP.getText();
SCEP = SCEP.replace("-", "");
CEP = Integer.parseInt(SCEP);
End = jTextFieldEnd.getText();
Num = Integer.parseInt(jTextFieldNum.getText());
Compl = jTextFieldCompl.getText();
Bairro = jTextFieldBairro.getText();
Cidade = jTextFieldCidade.getText();
String SFone1 = jTextFieldFone1.getText();
SFone1 = SFone1.replace("(", "");
SFone1 = SFone1.replace(")", "");
SFone1 = SFone1.replace("-", "");
Fone1 = Long.parseLong(SFone1);
String SFone2 = jTextFieldFone2.getText();
SFone2 = SFone2.replace("(", "");
SFone2 = SFone2.replace(")", "");
SFone2 = SFone2.replace("-", "");
Fone2 = Long.parseLong(SFone2);
String SFax = jTextFieldFax.getText();
SFax = SFax.replace("(", "");
SFax = SFax.replace(")", "");
SFax = SFax.replace("-", "");
Fax = Long.parseLong(SFax);
Obs = jTextAreaObs.getText();
}
private void connect() {
try {
conn = DriverManager.getConnection(url, userDB, passDB);
stmtInt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmtInt.executeQuery("SELECT * FROM FORNECEDORES");
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
private void disconnect() {
try {
rs.close();
stmtInt.close();
conn.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
/*
jTextFieldCod
jTextFieldNome
jTextFieldSite
jTextFieldCNPJ
jTextFieldEmail
jTextFieldCEP
jTextFieldEnd
jTextFieldNum
jTextFieldCompl
jTextFieldBairro
jTextFieldCidade
jTextFieldFone1
jTextFieldFone2
jTextFieldFax
jTextAreaObs
*
*
jButtonInicio
jButtonAnterior
jButtonProximo
jButtonUltimo
jButtonLocalizar
jButtonNovo
jButtonSalvar
jButtonCancelar
jButtonExcluir
jButtonAlterar
jButtonSair
*/
// Variables declaration - do not modify
private javax.swing.JButton jButtonAlterar;
private javax.swing.JButton jButtonAnterior;
private javax.swing.JButton jButtonCancelar;
private javax.swing.JButton jButtonExcluir;
private javax.swing.JButton jButtonInicio;
private javax.swing.JButton jButtonLocalizar;
private javax.swing.JButton jButtonNovo;
private javax.swing.JButton jButtonProximo;
private javax.swing.JButton jButtonSair;
private javax.swing.JButton jButtonSalvar;
private javax.swing.JButton jButtonUltimo;
private javax.swing.JLabel jLabelBairro;
private javax.swing.JLabel jLabelCEP;
private javax.swing.JLabel jLabelCNPJ;
private javax.swing.JLabel jLabelCidade;
private javax.swing.JLabel jLabelCodigo;
private javax.swing.JLabel jLabelComplemento;
private javax.swing.JLabel jLabelEmail;
private javax.swing.JLabel jLabelEndereco;
private javax.swing.JLabel jLabelFax;
private javax.swing.JLabel jLabelNome;
private javax.swing.JLabel jLabelNum;
private javax.swing.JLabel jLabelObs;
private javax.swing.JLabel jLabelSite;
private javax.swing.JLabel jLabelTelefone;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanelDados;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextAreaObs;
private javax.swing.JFormattedTextField jTextFieldBairro;
private javax.swing.JFormattedTextField jTextFieldCEP;
private javax.swing.JFormattedTextField jTextFieldCNPJ;
private javax.swing.JFormattedTextField jTextFieldCidade;
private javax.swing.JFormattedTextField jTextFieldCod;
private javax.swing.JFormattedTextField jTextFieldCompl;
private javax.swing.JFormattedTextField jTextFieldEmail;
private javax.swing.JFormattedTextField jTextFieldEnd;
private javax.swing.JFormattedTextField jTextFieldFax;
private javax.swing.JFormattedTextField jTextFieldFone1;
private javax.swing.JFormattedTextField jTextFieldFone2;
private javax.swing.JFormattedTextField jTextFieldNome;
private javax.swing.JFormattedTextField jTextFieldNum;
private javax.swing.JFormattedTextField jTextFieldSite;
// End of variables declaration
}
Grato pela atencão
Leandro D. Mussio