Como corregar dados do BD em uma JTable e JComboBox

11 respostas
java
E

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.

11 Respostas

D

Fala meu amigo,
talvez isso aqui pode te ajudar

E

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.

D

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

E

Opa amigo, blz?

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

J

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?

E

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.

E

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

D

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

R

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

D

:stuck_out_tongue_winking_eye:

E

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?

Criado 3 de junho de 2016
Ultima resposta 15 de jun. de 2016
Respostas 11
Participantes 4