tenho praticado criando um projeto pequeno porem me deparei com algo q não estou conseguindo resolver.
esta e uma função que recebe os valores e joga em uma class com getter e setter(Uma tela no caso)
public void addSet() {
ModelAuxiliar set = new ModelAuxiliar();
set.setId(txtIdProd.getText());
set.setProduto(txtNomeProd.getText());
set.setQuantidade(txtQuantidade.getText());
set.setPreco(txtPrecoProd.getText());
CadVenda ven = new CadVenda(this);
if (JOptionPane.showConfirmDialog(this,
"Deseja incluir: ",
"Incluir",
JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
this.dispose();
ven.incluir(set);
}
}
depois em outra tela onde tenho a jtable recebo a class.
ela imprime todas as propriedades
porem nao estou conseguindo adicionar a Jtable.
public void incluir(ModelAuxiliar get) {
System.out.println(get.getId());
System.out.println(get.getProduto());
System.out.println(get.getPreco());
System.out.println(get.getQuantidade());
this.setVisible(true);
tableModel.addRow(get);
}
desculpem tentei varias coisas porem nada faz funcionar
Como vc está implementando esse tableModel
?
Estou no serviço porém ela está extendendo AbstractTableModel
O AbstractTableModel
não possui o método addRow
, ou foi você quem implementou, ou está estendendo outra classe…
Posta a implementação do seu TableModel
.
public class TbleModel extends AbstractTableModel {
private List<ModelAuxiliar> dados = new ArrayList<>();
private String[] colunas = {"id", "produto", "quantidade", "valor"};
@Override
public String getColumnName(int column) {
return colunas[column];
}
@Override
public int getRowCount() {
return dados.size();
}
@Override
public int getColumnCount() {
return colunas.length;
}
@Override
public Object getValueAt(int linha, int coluna) {
switch (coluna) {
case 0:
return dados.get(linha).getId();
case 1:
return dados.get(linha).getProduto();
case 2:
return dados.get(linha).getQuantidade();
case 3:
return dados.get(linha).getPreco();
}
return null;
}
public void addRow(ModelAuxiliar aux) {
this.dados.add(aux);
this.fireTableDataChanged();
}
}
essa e minha AbstractTableModel
1 curtida
A tableModel
parece certa. Como vc está criando a JTable
junto com esse tableModel
?
TbleModel tableModel = new TbleModel();
public CadVenda(Menu menu) throws SQLException {
initComponents();
this.menu = menu;
Ultimo();
tbProdi.setModel(tableModel);
}
no “construtor” se nao estou enganado kkk
conferindo o codigo notei q estava dando “CadVenda ven = new CadVenda(this);” de novo
na função addSet() sendo q ele ja avia sino iniciado no construtor da tela
public AddProduto(CadVenda venda) {
this.venda = venda;
initComponents();
}
1 curtida
acho que por conta do programa estar ficando grande estou me perdendo fácil kkkkkk
A jenela do CadVenda
é modal? Se não for, a linha depois do setVisible
vai rodar imediatamente, não só quando a janela for fechada.