Olá sou iniciante em Java, fiz uma pequena aplicação (um cadastro) gravo no bco etc., porém agora estou iniciando com Swing, consegui fazer a tela, porém, não consigo associar o código a isso, gostaria de obter algum exemplo, dicas, etc,. Minha aplicação tem campos Strings e Int, minha telinha tem apenas "JLabel, JTextFiel e JButton(“Cadastrar” e “Cancelar”), quero gravar esses dados no Bco e mostrar… Poderiam por favor me ajudar???
Gravar no Bco de Dados usando Swing
10 Respostas
Vc não usa Swing para gravar no banco de dados, usa JDBC, usa alguns frameworks como o Hibernate. Swing é para a parte grafica.
Veja a sessão de artigos aqui do guj ou olhe este tutorial pra começar:
Acho que me expressei mal… eu consigo gravar no bco usando hibernate e tudo mais… o que não estou conseguindo é capturar os dados que estão no JTextField para enviar para enviar para o bco, ou seja, não sei se tem que colocar esses dados numa variável ou se pode mandar direto, ou se tem uma forma melhor de fazer…
seuTextField.getText();

Use o método getText() da classe JTextField, Ex:
String valor = jTextField.getText();
certo! mas eu tenho uma classe chamada:
public class Teste extends JFrame
public JijuvG()
{
try
{
jbInit();
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
e tb logicamente os métodos de cada botão textfiel etc,
eu to meio perdido eu não sei onde eu deve declara e passar esses dados p/ a variável, se no Main ou onde será, desculpem minha ignorância, mas, sem as telas eu ja estou sabendo, porém, agora usando o swing… to perdito. obrigado…
tem criar um método actionPerformed pra q quando for pressionado seu botão, ele consiga pegar os valores dos seus TextFields…
Valeu a todos vcs!!! ta dando certo!!!
import com.jgoodies.forms.layout.CellConstraints;
.
.
.
import org.hibernate.Session;
import org.hibernate.Transaction;
public class Jijuv extends JFrame
{
private JPanel jPanel1 = new JPanel();
private JPanel jPanel2 = new JPanel();
.
.
.
private JTextField jTextField1 = new JTextField(40);
private JTextField jTextField2 = new JTextField(40);
private JTextField jTextField3 = new JTextField(3);
private JTextField jTextField4 = new JTextField(40);
private JTextField jTextField5 = new JTextField(40);
private JTextField jTextField6 = new JTextField(40);
private JTextField jTextField7 = new JTextField(40);
private JTextField jTextField8 = new JTextField(40);
private JTextField jTextField9 = new JTextField(40);
private JTextField jTextField10 = new JTextField(40);
public Jijuv()
{
try
{
jbInit();
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void jbInit() throws Exception
{
this.getContentPane().setLayout( null );
this.setSize(new Dimension(482, 361));
this.setTitle("JIJUV - Juizado da Infância e Juventude");
jPanel1.setBounds(new Rectangle(5, 5, 465, 290));
jPanel1.setLayout(formLayout1);
jPanel2.setBounds(new Rectangle(58, 290, 440, 35));
jButton1.setText("Cadastrar");
jButton1.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
jButton1_mouseClicked(e);
}
});
jButton2.setText("Cancelar");
jButton2.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
jButton2_mouseClicked(e);
}
});
jButton1.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
jButton2_mouseClicked(e);
}
});
jLabel1.setText("Nome: ");
jLabel1.setFont(new Font("Dialog", 1, 15));
jLabel1.setVerticalAlignment(SwingConstants.TOP);
jLabel1.setVerticalTextPosition(SwingConstants.TOP);
jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
jLabel2.setText("Rua: ");
jLabel2.setFont(new Font("Dialog", 1, 15));
jLabel2.setVerticalAlignment(SwingConstants.TOP);
jLabel2.setVerticalTextPosition(SwingConstants.TOP);
jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
.
.
.
getJTextField1().setBounds(new Rectangle(95, 35, 327, 21));
getJTextField1().addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jTextField1_actionPerformed(e);
}
});
getJTextField1().addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jTextField2_actionPerformed(e);
}
});
jPanel2.add(jButton1, null);
.
.
.
}
private void JijuvG()
{
}
private void jButton1_mouseClicked(MouseEvent e)
{
String nome = jTextField1.getText();
String rua = jTextField2.getText();
.
.
.
}
private void jButton2_mouseClicked(MouseEvent e)
{
jTextField1.setText("");
jTextField2.setText("");
}
private void jTextField1_actionPerformed(ActionEvent e)
{
}
public JTextField getJTextField1()
{
return jTextField1;
}
public void setJTextField1(JTextField jTextField1)
{
this.jTextField1 = jTextField1;
}
private void jTextField2_actionPerformed(ActionEvent e)
{
}
public JTextField getJTextField2()
{
return jTextField2;
}
public void setJTextField2(JTextField jTextField2)
{
this.jTextField2 = jTextField2;
}
public static void main( String args[] )
{
Jijuv gridBagFrame = new Jijuv();
gridBagFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
gridBagFrame.setSize( 510, 370 ); // configura o tamanho do frame
gridBagFrame.setVisible( true ); // mostra o frame
Session sessao;
sessao = HibernateUtility.getSession(); //Abrindo uma sessão
Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação
Endereco endereco = new Endereco();
String rua, numero, bairro, complemento, cidade, estado, cep;
int n;
endereco.setRua(rua);
endereco.setNumero(n);
n=Integer.parseInt(numero);
endereco.setBairro(bairro);
endereco.setComplemento(complemento);
endereco.setCidade(cidade);
endereco.setEstado(estado);
endereco.setCep(cep);
sessao.save(endereco);
Pessoa pessoa = new Pessoa();
String nome, fone, email;
pessoa.setNomeP(nome);
pessoa.setTelefone(fone);
pessoa.setEmail(email);
pessoa.setEndereco(endereco);
sessao.save(pessoa);
transaction.commit(); //Finalizando a transação
sessao.close(); //Fechando a sessão
//endereco.ver();
} // final da classe Main
}
Error(404,25): variable rua might not have been initialized
Error(416,25): variable nome might not have been initialized
o que poderia ser??
variable rua might not have been initialized
O erro é bem claro.
Vc não está inicializando as variáveis rua e nome para usá-las!
private void jButton1_mouseClicked(MouseEvent e)
{
String nome = jTextField1.getText();
String rua = jTextField2.getText();
public static void main( String args[] )
{
Jijuv gridBagFrame = new Jijuv();
gridBagFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
gridBagFrame.setSize( 510, 370 ); // configura o tamanho do frame
gridBagFrame.setVisible( true ); // mostra o frame
Session sessao;
sessao = HibernateUtility.getSession(); //Abrindo uma sessão
Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação
Endereco endereco = new Endereco();
String rua, numero, bairro, complemento, cidade, estado, cep;
int n;
endereco.setRua(rua);
endereco.setNumero(n);