Usando a ferramenta do NetBeans criei uma tela de cadastro (um objeto JFrame). O objeto JFrame recebe alguns dados da classe que cria o JFrame. Esses dados são na verdade um objeto da classe Produtos que faz parte do pacote Model. Preciso fazer uso deste objeto para carregar alguns campos do formulario JFrame, por exemplo o campo tfId que é o id do produto. Vou ter acesso a este id executando um método chamado getId(). Porém não sei onde devo colocar a expressão:
tfId = mProduto.getId();
É a primeira tela JFrame que eu crio com as ferramentas do NetBeans, por isso muita coisa do código que o Netbeans cria eu não compreendo direito. É código criado pelo NetBeans e modificado em alguns pontos por mim.
Esse JFrame foi criado por uma classe JPanel de nivel imediatamente superior chamada GuiCadastroProdutos, que não cabe neste tópico junto com os outros códigos que vou publicar aqui. Desta forma veja o trecho de GuiCadastroProdutos que cria o JFrame em tempo de execução:
public void definirEventos() {
btCadForProduto.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
GuiCadForProduto jFrame2 = new GuiCadForProduto(produtos.produto)
jFrame2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jFrame2.setVisible(true);
}
});
A criação do JFrame em questão se dá pelo acionamento (evento) do botão btCadForProduto.
Gostaria que alguém de vocês me auxiliasse a inserir o código correto no lugar correto do programa. Varias partes do arquivo java do JFrame não aceita alteração (código gerado pelo Netbeans tem algum jeito de alterá-lo?) De qualquer forma vou mandar duas classes a classe Produtos do pacote Model e a classe GuiCadForProduto do pacote View. Essa segunda classe foi gerada com auxilio do Netbeans.
Prezados colegas, eu aguardo notícias e orientações sobre como trabalhar com este JFrame.
Obrigado,
Ronaldo
package model;
/**
*
* @author Ronaldo Rodrigues Godoi
*/
public class Produtos {
private String id, descricao, categoria, unidade, data_cadastro;
private Double quantidade, preco_venda, preco_ultima_compra;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getCategoria() {
return categoria;
}
public void setCategoria(String categoria) {
this.categoria = categoria;
}
public String getUnidade() {
return unidade;
}
public void setUnidade(String unidade) {
this.unidade = unidade;
}
public String getData_cadastro() {
return data_cadastro;
}
public void setData_cadastro(String data_cadastro) {
this.data_cadastro = data_cadastro;
}
public Double getQuantidade() {
return quantidade;
}
public void setQuantidade(Double quantidade) {
this.quantidade = quantidade;
}
public Double getPreco_venda() {
return preco_venda;
}
public void setPreco_venda(Double preco_venda) {
this.preco_venda = preco_venda;
}
public Double getPreco_ultima_compra() {
return preco_ultima_compra;
}
public void setPreco_ultima_compra(Double preco_ultima_compra) {
this.preco_ultima_compra = preco_ultima_compra;
}
}
/*
Table: produtos
Columns:
id varchar(10) PK
descricao varchar(60)
categoria varchar(10)
quantidade double
unidade varchar(10)
preco_venda double
preco_ultima_compra double
data_cadastro datetime
*/
package view;
import controller.ControllerCadForProduto;
import empresaiv.Util;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import model.Fornecedores;
import model.ModelCadForProduto;
import model.Produtos;
/**
*
* @author Ronaldo R. Godoi
*/
public class GuiCadForProduto extends javax.swing.JFrame {
ControllerCadForProduto cCFProduto = new ControllerCadForProduto();
ModelCadForProduto mCFProduto = new ModelCadForProduto();
ArrayList<Fornecedores> listaModelFornecedor = new ArrayList<>();
Util util = new Util();
/**
* Creates new form GuiCadForProduto
*/
public GuiCadForProduto(Produtos mProduto) {
initComponents();
setLocationRelativeTo(null);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jScrollPane2 = new javax.swing.JScrollPane();
jTable2 = new javax.swing.JTable();
lbTitulo_cad_for_produto = new javax.swing.JLabel();
lbId = new javax.swing.JLabel();
lbId_produto = new javax.swing.JLabel();
lbId_fornecedor = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
lbData_compra = new javax.swing.JLabel();
lbData_cadastro = new javax.swing.JLabel();
tfId = new javax.swing.JTextField();
tfId_produto = new javax.swing.JTextField();
tfId_fornecedor = new javax.swing.JTextField();
tfPreco = new javax.swing.JTextField();
tfData_compra = new javax.swing.JTextField();
tfData_cadastro = new javax.swing.JTextField();
btNovo = new javax.swing.JButton();
btLocalizar = new javax.swing.JButton();
btAlterar = new javax.swing.JButton();
btGravar = new javax.swing.JButton();
btExcluir = new javax.swing.JButton();
btCancelar = new javax.swing.JButton();
btFechar = new javax.swing.JButton();
lbDescricao_produto = new javax.swing.JLabel();
lbNome_razao_fornecedor = new javax.swing.JLabel();
jScrollPane3 = new javax.swing.JScrollPane();
jTable3 = new javax.swing.JTable();
jLabel1 = new javax.swing.JLabel();
label1 = new java.awt.Label();
label2 = new java.awt.Label();
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane1.setViewportView(jTable1);
jTable2.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jScrollPane2.setViewportView(jTable2);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
lbTitulo_cad_for_produto.setText("Cadastro de Fornecedores deste Produto");
lbId.setText("Codigo de Cadastro: ");
lbId_produto.setText("Código de Produto: ");
lbId_fornecedor.setText("Código de Fornecedor: ");
jLabel5.setText("Preço Praticado pelo Fornecedor: ");
lbData_compra.setText("Data da Compra: ");
lbData_cadastro.setText("Data de Cadastro neste Produto: ");
tfId.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tfIdActionPerformed(evt);
}
});
tfId.setEditable(false);
tfId_produto.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tfId_produtoActionPerformed(evt);
}
});
tfId_produto.setEditable(false);
btNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/novo.gif"))); // NOI18N
btNovo.setText("Novo");
btNovo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btNovoActionPerformed(evt);
}
});
btLocalizar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/localizar.png"))); // NOI18N
btLocalizar.setText("Localizar");
btAlterar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/alterar.gif"))); // NOI18N
btAlterar.setText("Alterar");
btAlterar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btAlterarActionPerformed(evt);
}
});
btGravar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/gravar.gif"))); // NOI18N
btGravar.setText("Gravar");
btGravar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btGravarActionPerformed(evt);
}
});
btExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/excluir.gif"))); // NOI18N
btExcluir.setText("Excluir");
btCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/cancelar.gif"))); // NOI18N
btCancelar.setText("Cancelar");
btFechar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/sair.png"))); // NOI18N
btFechar.setText("Sair");
btFechar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btFecharActionPerformed(evt);
}
});
lbDescricao_produto.setText("Produto: ");
lbNome_razao_fornecedor.setText("Fornecedor: ");
jTable3.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Codigo Fornecedor", "Nome ou Razão", "Telefone", "Cidade", "Estado"
}
) {
boolean[] canEdit = new boolean [] {
false, false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
jScrollPane3.setViewportView(jTable3);
jLabel1.setText("Tabela de Fornecedores deste Produto:");
label1.setText("label1");
label2.setText("label2");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(btNovo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btLocalizar)
.addGap(9, 9, 9)
.addComponent(btGravar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btAlterar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btExcluir)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btCancelar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btFechar, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addGroup(layout.createSequentialGroup()
.addGap(19, 19, 19)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lbId)
.addComponent(lbTitulo_cad_for_produto)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(tfId, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lbId_produto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(tfId_produto))
.addComponent(lbDescricao_produto)))
.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, 255, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(29, 29, 29)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lbNome_razao_fornecedor)
.addComponent(lbId_fornecedor)
.addComponent(tfId_fornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, 96, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(label2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tfPreco, javax.swing.GroupLayout.PREFERRED_SIZE, 82, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 214, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(37, 37, 37)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lbData_compra)
.addComponent(tfData_compra, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(65, 65, 65)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tfData_cadastro, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(lbData_cadastro, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 663, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(0, 17, Short.MAX_VALUE)))
.addContainerGap())
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(38, 38, 38)
.addComponent(lbTitulo_cad_for_produto, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(lbId)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbId_produto)
.addComponent(lbId_fornecedor))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfId_produto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfId_fornecedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(lbDescricao_produto)
.addComponent(lbNome_razao_fornecedor))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(lbData_compra)
.addComponent(lbData_cadastro))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfPreco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfData_compra, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfData_cadastro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(25, 25, 25)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btNovo)
.addComponent(btLocalizar)
.addComponent(btAlterar)
.addComponent(btExcluir)
.addComponent(btCancelar)
.addComponent(btFechar)
.addComponent(btGravar)))
.addComponent(label2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(42, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void btNovoActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btFecharActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
private void btGravarActionPerformed(java.awt.event.ActionEvent evt) {
mCFProduto.setId_produto(this.tfId_produto.getText());
mCFProduto.setId_fornecedor(this.tfId_fornecedor.getText());
mCFProduto.setPreco(util.spaceToDouble(this.tfPreco.getText()));
mCFProduto.setData_compra(this.tfData_compra.getText());
mCFProduto.setData_cadastro(this.tfData_cadastro.getText());
if(cCFProduto.salvarCadForProdutoController(mCFProduto) > 0) {
JOptionPane.showMessageDialog(this, "Registro salvo com sucesso!", "Atenção", JOptionPane.WARNING_MESSAGE);
//carregar os fornecedores na tabela.
} else {
JOptionPane.showMessageDialog(this, "Erro ao salvar fornecedor!", "ERRO", JOptionPane.ERROR_MESSAGE);
}
}
// private void listaFornecedor() {
// listaModelFornecedor = cCFProduto.getListaCadForProdutoController();
// }
private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {
mCFProduto.setId_produto(this.tfId_produto.getText());
mCFProduto.setId_fornecedor(this.tfId_fornecedor.getText());
mCFProduto.setPreco(util.spaceToDouble(this.tfPreco.getText()));
mCFProduto.setData_compra(this.tfData_compra.getText());
mCFProduto.setData_cadastro(this.tfData_cadastro.getText());
if(cCFProduto.atualizarCadForProdutoController(mCFProduto)) {
JOptionPane.showMessageDialog(this, "Registro salvo com sucesso!");
//carregar os fornecedores na tabela.
} else {
JOptionPane.showMessageDialog(this, "Erro ao salvar fornecedor!", "ERRO", JOptionPane.ERROR_MESSAGE);
}
}
private void tfIdActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void tfId_produtoActionPerformed(java.awt.event.ActionEvent evt) {
tfId_produto = mIdProduto;
}
// Variables declaration - do not modify
private javax.swing.JButton btAlterar;
private javax.swing.JButton btCancelar;
private javax.swing.JButton btExcluir;
private javax.swing.JButton btFechar;
private javax.swing.JButton btGravar;
private javax.swing.JButton btLocalizar;
private javax.swing.JButton btNovo;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel5;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JTable jTable1;
private javax.swing.JTable jTable2;
private javax.swing.JTable jTable3;
private java.awt.Label label1;
private java.awt.Label label2;
private javax.swing.JLabel lbData_cadastro;
private javax.swing.JLabel lbData_compra;
private javax.swing.JLabel lbDescricao_produto;
private javax.swing.JLabel lbId;
private javax.swing.JLabel lbId_fornecedor;
private javax.swing.JLabel lbId_produto;
private javax.swing.JLabel lbNome_razao_fornecedor;
private javax.swing.JLabel lbTitulo_cad_for_produto;
private javax.swing.JTextField tfData_cadastro;
private javax.swing.JTextField tfData_compra;
private javax.swing.JTextField tfId;
private javax.swing.JTextField tfId_fornecedor;
private javax.swing.JTextField tfId_produto;
private javax.swing.JTextField tfPreco;
// End of variables declaration
}
/*
Table: fornec_produto
Columns:
id int AI PK
id_produto varchar(10)
id_fornecedor varchar(16)
preco double
data_compra datetime
data_cadastro datetime
*/