I have this frame, where clicking the 'SEARCH PRODUCT' button opens another frame with the list of products registered:
public class GeracaoOcamento extends javax.swing.JFrame {
public GeracaoOcamento() {
initComponents();
setLocationRelativeTo(null);
}
public void retornaID(ListaProdutos frameProdutos, int idSelecionado) {
ProdutoDAO pd = new ProdutoDAO();
Produto produto = pd.buscarPorId(Produto.class, idSelecionado);
lblNomeProduto.setText(produto.getNome());
lblNumero.setText("2018/");
System.out.println(produto.getNome());
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
new ListaClientes().setVisible(true);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
new ListaProdutos().setVisible(true);
}
}
In this frame you have a product table. When double clicking on a row, I retrieve the product id of the clicked row and return this id to the previous frame. follow the code:
public class ListaProdutos extends javax.swing.JFrame {
/**
* Creates new form ListaClientes
*/
public ProdutoTableModel tableModel;
ProdutoDAO produtodao = new ProdutoDAO();
GeracaoOcamento geracaoOrcamento = new GeracaoOcamento();
public ListaProdutos() {
initComponents();
setLocationRelativeTo(null);
tableModel = new ProdutoTableModel(produtodao.consultarTodos());
tableLista.setModel(tableModel);
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
CadastroProduto cp = new CadastroProduto();
//DeskPane.add(cp);
cp.setVisible(true);
this.setVisible(false);
}
private void tableListaMouseClicked(java.awt.event.MouseEvent evt) {
if (evt.getClickCount() == 2) {
int linha = tableLista.getSelectedRow();
int idSelecionado = (int) tableModel.getValueAt(linha, 0);
geracaoOrcamento.retornaID(this, idSelecionado);
this.dispose();
}
}
}
In the return method of the Class Generation Class ID, I use the given return and search the database for the equivalent product.
I get the information from this product and try to set it in a TextField.
The problem is that no arrow. I can print the value in System out normally as a test. but the value is not set in the text field within this method.
Complete code here - > link