ola pessoal, tenho a seguinte table com combox :
modelo = new DefaultTableModel( dado , colu );
jTable1 = new JTable( modelo ); // linha e coluna
//jTable1.setBounds(20, 20, 20, 20); // posicao horizontal , posicao vertical , comprimento, altura
jTable1.setVisible(true); // tabela visivel
jTable1.getTableHeader().setReorderingAllowed(false); // trava colunas
jTable1.getTableHeader().setResizingAllowed(false); // trava tamanho coluna
jTable1.getTableHeader().setBackground( Color.lightGray ) ; // cor do fundo
jTable1.setForeground(Color.blue ); // cor da fonte
jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // seleciona apenas uma linha da tabela
jTable1.setGridColor( Color.black ); // cor das linhas internas
jTable1.setShowHorizontalLines(true) ; // linhas horizontais
jTable1.setShowVerticalLines(true) ; // linhas verticais
jTable1.setEnabled(true); // editar dados da tabela - false não edita
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); // auto tamanho da tabela - para barra rolagem horizontal
jTable1.getColumnModel().getColumn(0).setPreferredWidth( 500 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(1).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(2).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(3).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(4).setPreferredWidth( 120 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(5).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(6).setPreferredWidth( 300 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(7).setPreferredWidth( 130 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(8).setPreferredWidth( 50 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(9).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(10).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(11).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(12).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(13).setPreferredWidth( 50 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(14).setPreferredWidth( 50 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(15).setPreferredWidth( 130 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(16).setPreferredWidth( 130 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(17).setPreferredWidth( 500 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(18).setPreferredWidth( 200 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(19).setPreferredWidth( 400 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(20).setPreferredWidth( 80 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(21).setPreferredWidth( 100 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(22).setPreferredWidth( 50 ); // tamanho da coluna
jTable1.getColumnModel().getColumn(23).setPreferredWidth( 100 ); // tamanho da coluna
Vector linhas = new Vector();
for ( int linha = 0 ; linha < 1000 ; linha++ ) {
modelo.addRow(linhas);
}
String estados[] = { "AC" , "AL" , "AP" , "AM" , "BA" , "CE" , "DF" , "ES" , "GO" , "MA" , "MT" , "MS" , "MG" , "PA" , "PB" , "PE" , "PI" , "PR" , "RJ" , "RN" , "RS" , "RO" , "RR" , "SC" , "SP" , "SE" , "TO" };
jComboBox1 = new JComboBox(estados);
jComboBox1.setMaximumRowCount(10);
jTable1.getColumnModel().getColumn(20).setCellEditor(new DefaultCellEditor(jComboBox1));
scrollPane1 = new JScrollPane(jTable1);
scrollPane1.setVisible(true);
scrollPane1.setBounds(20, 20, 650, 430);
scrollPane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
mas o combox so aparece no jtable quando eu clico na coluna e que eu defini, neste caso a coluna 20 - jTable1.getColumnModel().getColumn(20).setCellEditor(new DefaultCellEditor(jComboBox1));
como faco pra esse combo aparece ja quando a table eh “desenhada” no meu jframe, ou seja, nao quero clicar na coluna pra saber que esta coluna devo selecionar, e sim, ao visualizar a tabela inteira, ja sei quais colunas vou ter que selecionar …