Estou com o seguinte problema: Eu tenho um JFrame Normal e nele eu tenho um JComboBox para telefones e um botão que chama um JDialog onde eu posso adiconar quantos telefones eu quiser num JTable. Como eu faria para pegar os dados do meu JTable que está no JDialog e lançar no meu JComboBox que está no JFrame?
Transferência de dados de um Form para outro
1 Resposta
Estou com o seguinte problema: Eu tenho um JFrame Normal e nele eu tenho um JComboBox para telefones e um botão que chama um JDialog onde eu posso adiconar quantos telefones eu quiser num JTable. Como eu faria para pegar os dados do meu JTable que está no JDialog e lançar no meu JComboBox que está no JFrame?Faça os seguintes passos: 1. Crie o seu modelo da tabela. Caso já tenha, pule para o passo 3; 2. Siga o meu link na assinatura para descobrir como fazer o seu próprio modelo; 3. Crie um método em seu TableModel para recuperar os dados da tabela:
public List<Telefone> recuperarTelefones() {
return telefones;
}
public class TelefonesDialog extends JDialog {
private TelefonesTableModel tablemodelTelefones;
private List<Telefone> telefones;
private Boolean confirmou;
public List<Telefone> getTelefones() { return telefones; }
public Boolean isConfirmou() { return confirmou; }
public TelefonesDialog() {
//...
JButton buttonConfirmar = new JButton("Confirmar");
buttonConfirmar.addActionListener(new ConfirmarActionListener());
//...
JButton buttonCancelar = new JButton("Cancelar");
buttonCancelar.addActionListener(new CancelarActionListener());
//...
}
private class ConfirmarActionListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
this.telefones = tablemodelTelefones.recuperarTelefones();
confirmou = true;
dispose();
}
}
private class ConfirmarActionListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
confirmou = false;
dispose();
}
}
}
public class TelefonesFrame extends JFrame {
public TelefonesFrame() {
//...
JButton buttonTelefones = new JButton("...");
buttonTelefones .addActionListener(new TelefonesDialogActionListener());
}
private class TelefonesDialogActionListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
TelefonesDialog dialogTelefones = new TelefonesDialog();
dialogTelefones.exibirFormulario();
// se clicou em OK...
if (dialogTelefones.isConfirmou()) {
// recupera a lista de telefones e adiciona à JComboBox!
List<Telefone> telefones = dialogTelefones.getTelefones();
comboboxTelefones.setModel(new DefaultComboBoxModel(telefones.toArray()));
}
}
}
Espero ter ajudado,
fique com Deus! :D
Criado 6 de março de 2012
Ultima resposta 6 de mar. de 2012
Respostas 1
Participantes 2