Olá pessoal
eu tenho dois frames, em um deles tem uma tabela de alunos, eu quero selecionar um aluno e clicar no botão marcar aula, e automaticamente o nome so aluno selecionado apareceria no jTexfiel aluno que esta em outro frame, alguem sabe como fazer isso?
obrigada :roll:
Olá!
- Crie uma classe que implemente ActionListener;
- Adicione uma instância da sua classe com .addActionListener();
- No método sobrescrito, atualize o JTextField.
De qualquer forma, como são frames diferentes, o ideal é que sua GUI conhecesse uma referência para um façade comum. Ao selecionar o frame, ele seria atualizado com os dados do façade.
Espero ter ajudado.
Poderia me mostrar um exemplo?
Bom vc pode fazer da seguinte maneira bem simples imagine que a minha tabela tenha as Coluna
Codigo, Nome, Data nas respectivas posições 0 , 1 e 2
para pegar o conteudo de uma determinada linha selecionada vc pode fazer alguns metodos get’s como
este a seguir:
public String getCodigo()
{
//getSelectedRow() Retorna o numero da linha que esta selecionada
int lin=tabela.getSelectedRow();
//getModel().getValueAt(lin,0).toString() Vai retorna o valor da linha "lin" da coluna 0 e convertelo para string
return tabela.getModel().getValueAt(lin,0).toString();
}
//A mesma ideia é usada para os demais
public String getNome()
{
int lin=tabela.getSelectedRow();
return tabela.getModel().getValueAt(lin,1).toString();
}
public String getData()
{
int lin=tabela.getSelectedRow();
return tabela.getModel().getValueAt(lin,2).toString();
}
Você pode fazer os campos receber diretamente os valores sem a nescessidades dos get’s
Uma Forma direta seria assim:
//retornando o valor da segunda coluna a coluna de numero 1
JTextFild1.setText(tabela.getModel().getValueAt(tabela.getSelectedRow(),1).toString(););
Espero que ajude!
1 curtida
Olá novamente!
Segue um exemplo:
package com.test;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Main
{
public static void main(String ... args)
{
new Window();
}
}
class Window extends JFrame
{
private JPanel panel = new JPanel();
private JCheckBox checkBox = new JCheckBox();
private JTextField textField = new JTextField("Aluno não incluso");
public Window()
{
panel.add(checkBox);
panel.add(textField);
add(panel);
// Insere nosso listener
checkBox.addActionListener(new MeuListener());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800,600);
setVisible(true);
}
class MeuListener implements ActionListener
{
@Override
public void actionPerformed(ActionEvent arg0)
{
if(checkBox.isSelected())
textField.setText("Aluno Incluso");
else
textField.setText("Aluno não incluso");
}
}
}
Abraços!!
Obrigada me ajudou muito,
abraços!