Como corregar dados do BD em uma JTable e JComboBox

Olá todos,

Como sou novo em java, vim a procura de ajuda.
Estou construindo um programa onde cheguei em um momento que nao consigo mais desenvolver.
Gostaria de elaborar uma JTable com oito colunas, das oito, duas possuem JComboBox.
Tanto a JTable quanto o JComboBox, são corregados com conteudo do Banco de Dados, ou seja, JTable carrega com informaçoes de uma determinada tabela e os JComboBox carregam com outra tabela.
Apos o usuario preencher a JTable, ele envia para o BD.
Se fui complicado desculpem, mas acredito que realmente é complicado.
Abs.

1 curtida

Fala meu amigo,
talvez isso aqui pode te ajudar

1 curtida

Boa noite Diego, tubo blz?

Então, a ideia é esta mesmo, porém eu preciso usar um jComboBox em uma das colunas, mas o conteudo dela é carregado de uma tabela no BD também.

Sua JComboBox vc pode fazer o seguinte;
fazer uma metodo para buscar do seu banco e depois vc seta essa pesquisa no seu ComboBox

exemplo:

     public void listabanco(){
	
	conn.conectabanco();
	try {
		conn.execulteSQL("SELECT * FROM suatabela");
            while(conn.rs.next()) {
              
                    //aqui vc add os dados no JComboBox
            	comboBox.addItem(conn.rs.getString("Nome_da_Coluna_do_Banco"));
            
            }
		
	} catch (SQLException e) {
		JOptionPane.showMessageDialog(null, "Erro ao buscar dados! \n"+e);
	}
	
	conn.desconectar();
	
}

Espero que ajude amigão

1 curtida

Opa amigo, blz?

Minha placa de video esta danificada, ja encomendei outra, assim de chegar implementarei o novo metodo e lhe retorno.
Obrigado!

1 curtida

Voce nao pode dixar a JComboBox. já preenchida com um Array de de Strings?
Só para ve se entendi, você quer colocar a JCombo como uma coluna da JTable?

1 curtida

Bom dia Jonas.
A ideia da JComboBox conter valores de uma tabela do BD é que serão diversos locais de armazenamento, além das emissões de relatório, no qual implica a conferencia frequentimente pois poderá haver erro de digitação. Por isso preciso que seja desta maneira para evitar.

Bom dia Diego, td blz?
Infelizmente não consigo inserir uma JComboBox na JTable,
Precisaria de mais esta ajuda.

Acho q agora que fui entender oq vc quis, rsrsr
Vc querer sua Combo dentro da tabela?

Opa… esse assunto muito me interessa. Colocar o JCombobox dentro da JTable. Melhor com DefaultTableModel ou com AbstractTableModel? Qual é melhor prática se trantando de banco? Obrigado e o link da aula DEIXA MUITO CLARO. Valeu! []´s. Ricardo

:stuck_out_tongue_winking_eye:

Por ex.:

public class jtableComboBox extends JFrame{

//construtor

public jtableComboBox(){

//Titulo
super(“JCOMBO IN JTABLE”);
setDefaultCloseOperation(EXIT_ON_CLOSE);

//Modelo da tabela
DefaultTableModel dm = new DefaultTableModel();

// Dados
dm.setDataVector(new Object[][]
{
{“1”,“Pneiramento”,“Selecione”},
{“2”,“Transportador”,“Selecione”},
{“3”,“Tubulacao”,“Selecione”},
{“4”,“Mecanica”,“Selecione”},
{“5”,“Eletrica”,“Selecione”},
{“6”,“Moagem”,“Selecione”},
{“7”,“Britagem”,“Selecione”},
},
new Object[]{“No”,“Nome”,“Posicao”});
//Tabela
JTable table = new JTable(dm);
//ComboBox>>>Na posicao ‘Selecione’, onde os usuarios cadastram conforme necessario em um outro formulario e surgiria no JComboBox.
String[] positions={“Miscelanea”,“Spool”};
final JComboBox combo = new JComboBox(positions);
combo.addActionListener(new ActionListener(){

//metodo principal
public void actionPerformed(ActionEvent ae){
    JOptionPane.showMessageDialog(null, combo.getSelectedItem());
}

});
//Colunas do combo
TableColumn col = table.getColumnModel().getColumn(2);
col.setCellEditor(new DefaultCellEditor(combo));
//barra de rolagem
JScrollPane pane = new JScrollPane(table);
getContentPane().add(pane);
setSize(350,250);

}
//Metodo principal
public static void main(String[] args){
//iniciar a tela
jtableComboBox j = new jtableComboBox();
j.setVisible(true);

}

} catch (SQLException e) {
    JOptionPane.showMessageDialog(null, "Erro ao buscar dados! \n"+e);

}
}

No vetor a primeira e segunda coluna seriam de uma determinada tabela no BD, a terceira coluna seria de outra tabela e iria conter um JComboBox.
isto é possível?