Ola boa noite, intao eu estou fazer um programa de cadastro de veiculos, tenho suas placas e afins bom, ele tem 2 classes uma pra colocar o getter e setters e outra esta com Form onde coloquei o arraylist e tudo e agr preciso abri mais uma form com o Jlist, so que nao sei como posso puxar os dados desse form principal meu pra essa tabela
Se vc vai abrir um JFrame
a partir de outro JFrame
, uma forma seria vc passar a lista no construtor da tela que terá a JTable
:
List<Veiculo> veiculos = // recupera a lista de veiculos
new UIListaVeiculos(veiculos); // abre a tela que irá listar os veículos numa tabela
Intao como posso estar fazendo isso porque tenho 3 classes: Veiculo(getter and setters) ; Principal; mostrarNoJtable
Como é a dinâmica desses elementos? A classe principal cria um JFrame que possui o método mostrarNoJtable, que carrega uma lista de veiculos?
Desculpe, mas não entendi muito bem.
Estou com o mesmo problema e não acho a resposta, tenho a classe principal que é a JForm AlunoPanel, tenho a classe Aluno e a JForm AlunoConsuta…
Em AlunoPanel peço as informações e salvo com um arraylist em Aluno que retorna os getters e setters imprimo em uma tabela (até aqui tudo bem):
AlunoPanel:
package exemplo.aula;
import exemplo.aula.dto.Aluno;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
*
* @author alber
*/
public class AlunoPanel extends javax.swing.JPanel {
private DefaultTableModel defaultTableModel;
public ArrayList<Aluno> alunos;
/**
* Creates new form AlunoPanel
*/
public AlunoPanel() {
initComponents();
alunos = new ArrayList<Aluno>();
contruirTabela();
}
//Aqui tem a criação da interface, tirei pra ficar mais fácil
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
limparCampos();
}
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {
Aluno aluno = new Aluno();
aluno.setNome(jTextFieldNome.getText().trim());
aluno.setMatricula( Long.parseLong( jTextFieldMatricula.getText()));
aluno.setIdade( Integer.parseInt(jTextFieldIdade.getText()) );
aluno.setEndereco( jTextFieldEndereco.getText() );
alunos.add(aluno);
System.out.println(aluno.getMatricula());
System.out.println(aluno.getNome());
System.out.println(aluno.getIdade());
System.out.println(aluno.getEndereco());
AlunoConsulta alunoConsulta = new AlunoConsulta();
//adicionar o código de inserção aqui
JOptionPane.showMessageDialog(this, "Aluno cadastrado com sucesso!", "Atenção",JOptionPane.INFORMATION_MESSAGE);
preencherTabela();
limparCampos();
}
private void contruirTabela() {
defaultTableModel = new DefaultTableModel();
//as strings serão os títulos das colunas
defaultTableModel.addColumn("Matrícula");
defaultTableModel.addColumn("Nome");
defaultTableModel.addColumn("Idade");
defaultTableModel.addColumn("Endereço");
//definir um tamanho
jTableAluno.getColumnModel().getColumn(0).setPreferredWidth(5);
jTableAluno.setModel(defaultTableModel);
preencherTabela();
}
public void preencherTabela() {
defaultTableModel.setNumRows(0);
for (Aluno aluno : alunos) {
defaultTableModel.addRow(new Object[]{ aluno.getMatricula(), aluno.getNome(), aluno.getIdade(), aluno.getEndereco() });
}
}
private void limparCampos() {
jTextFieldMatricula.setText("");
jTextFieldNome.setText("");
jTextFieldIdade.setText("");
jTextFieldEndereco.setText("");
}
// Variables declaration - do not modify
private javax.swing.JButton jButton2;
public static javax.swing.JButton jButtonSalvar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTableAluno;
private javax.swing.JTextField jTextFieldEndereco;
private javax.swing.JTextField jTextFieldIdade;
private javax.swing.JTextField jTextFieldMatricula;
private javax.swing.JTextField jTextFieldNome;
// End of variables declaration
}
Classe Aluno:
package exemplo.aula.dto;
/**
*
* @author Cleriston Jr.
*/
public class Aluno {
private long matricula;
private String nome;
private int idade;
private String endereco;
public Aluno() {
}
public Aluno(long matricula, String nome, int idade, String endereco) {
this.matricula = matricula;
this.nome = nome;
this.idade = idade;
this.endereco = endereco;
}
public long getMatricula() {
return matricula;
}
public void setMatricula(long matricula) {
this.matricula = matricula;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
}
E tenho um JFrame AlunoConsulta, que tb quero que mostre a mesma tabela, mas não sei como puxar essas informações