Boa tarde galera!
Estou aprendendo java, então peço desculpas caso não conseguir expressar a minha dificuldade.
Bom, vamos la …
O cenário é o seguinte, tenho um programa onde é feito cadastro de itens, onde o mesmo possui os campos,código, descrição embalagem , código de barras , Sigla embalagem …, minha dificuldade é na tela de selecionar a embalagem, onde na tela principal, ao clicar no campo txt_emb é aberto um form que traz um jtable contendo as colunas, Embalagem, Sigla , Descrição e Peso embalagem, onde será necessário selecionar a linha que contem o tipo de embalagem desejado e ao clicar em ok, retornaria a tela principal com os campos Sigla Embalagem e Descrição preenchidos.
E minha dificuldade esta sendo esta, retornar os valores selecionados para os campos da tela principal.
Segue os códigos.
//Evento onde abre a tela EMBALAGEM que traz todos os tipos de embalagem, onde é necessário selecionar uma e dar OK. O problema é esses campos txt_emb e txt_desc_emb que são os dois campos que preciso trazer os dados da tabela, porem estou perdido nessa parte.
private void txt_embMouseClicked(java.awt.event.MouseEvent evt) {
new EMBALAGEM( txt_emb.getText(), txt_desc_emb.getText()).show();
}
//Abaixo segue o metodo embalagem, responsável por trazer as informações a jtable
public class EMBALAGEM extends javax.swing.JFrame {
String sigla_emb,desc_emb,embalagem,peso_emb;
public EMBALAGEM(String sigla, String desc) {
initComponents();
con_oracle con = new con_oracle();
con.conecta(" teste12345", "teste12345");
String preenche_jtb_emb = "SELECT IC.EMBALAGEM,IC.SIGLA_EMB,ic.descricao,IC.PESO_EMBAL\n"
+ " FROM EMS2CAD.embalag IC\n";
;
jtb_emb.getColumnModel().getColumn(0).setPreferredWidth(20);//EMBALAGEM
jtb_emb.getColumnModel().getColumn(1).setPreferredWidth(5);//SIGLA
jtb_emb.getColumnModel().getColumn(2).setPreferredWidth(100);//DESCRIÇÃO
jtb_emb.getColumnModel().getColumn(3).setPreferredWidth(20);//PESO
DefaultTableModel modelo = (DefaultTableModel) jtb_emb.getModel();
modelo = (DefaultTableModel) jtb_emb.getModel();
modelo.setNumRows(0);
con.executeSQL(preenche_jtb_emb);
try {
while (con.resultset.next()) {
modelo.addRow(new String[]{
con.resultset.getString("EMBALAGEM"),
con.resultset.getString("SIGLA_EMB"),
con.resultset.getString("DESCRICAO"),
con.resultset.getString("PESO_EMBAL")
}
);
}
con.resultset.first();
} catch (SQLException ex) {
}
}
//Abaixo segue o evento para selecionar a linha da tabela
private void jtb_embMouseReleased(java.awt.event.MouseEvent evt) {
DefaultTableModel modelo = (DefaultTableModel) jtb_emb.getModel();
int linha_id = jtb_emb.convertRowIndexToModel(jtb_emb.getSelectedRow());
int column = 0;
embalagem = (String) modelo.getValueAt(linha_id, 0);
sigla_emb = (String) modelo.getValueAt(linha_id, 1);
desc_emb = (String) modelo.getValueAt(linha_id, 2);
peso_emb = (String) modelo.getValueAt(linha_id, 3);
}
Minha dificuldade agora é com o botao ok, onde o mesmo terá que fechar o form embalagem e preencher os campos da tela principal conforme foi selecionado na tabela.
Se alguem tiver uma ideia de como fazer isso, agradeço desde ja .