@Fagner693 escreveu:
Pessoal estou fazendo uma aplicação desktop no netbeans e usando o mysql como banco de dados e tenho uma dúvida.Eu tenho uma tela de consulta com 2 jcombo onde um tem o curso e o outro o turno.Gostaria de preencher uma jtable de acordo com as jcombo ou seja caso eu escolha um curso e um turno na jtable apareca os campos os quais escolhi na tabela.Eu sei que com jtexfield se usa like mas com jcombo não to conseguindo.
Modelo Tabela
import javax.swing.table.AbstractTableModel; import java.util.*; public class ModeloTabela extends AbstractTableModel{ private ArrayList linhas = null; private String[] colunas = null; public ModeloTabela(ArrayList lin, String[] col){ setLinhas(lin); setColunas(col); } public int getColumnCount(){ return getColunas().length; } public int getRowCount(){ return getLinhas().size(); } public String getColumnName(int numCol){ return getColunas()[numCol]; } public Object getValueAt(int numLin,int numCol){ Object[] linha = (Object[])getLinhas().get(numLin); return linha[numCol]; } /** * @return the linhas */ public ArrayList getLinhas() { return linhas; } /** * @param linhas the linhas to set */ public void setLinhas(ArrayList linhas) { this.linhas = linhas; } /** * @return the colunas */ public String[] getColunas() { return colunas; } /** * @param colunas the colunas to set */ public void setColunas(String[] colunas) { this.colunas = colunas; }
}
Método para Preencher a tabela
public void preencherTabelaConsulta(String sql){ ArrayList dados = new ArrayList(); String [] colunas = new String[]{"ID","NOME DO ALUNO","CPF","WATSAPP","CELULAR","CURSO","TURNO","DIA DA INSCRIÇÃO","HORA DA INSCRIÇÃO"}; c.getConnection(); c.executaSql(sql); try { c.rs.first(); do{ dados.add(new Object[]{c.rs.getInt("idAluno"), c.rs.getString("nome"),c.rs.getString("cpf"), c.rs.getInt("zap"),c.rs.getString("cel"),c.rs.getString("curso"),c.rs.getString("turno"), c.rs.getString("dataInscricao"),c.rs.getString("horaInscricao")}); }while(c.rs.next()); } catch (SQLException ex) { Logger.getLogger(Pagamento.class.getName()).log(Level.SEVERE, null, ex); } ModeloTabela modelo = new ModeloTabela(dados, colunas); jTableConsulta.setModel(modelo); jTableConsulta.getColumnModel().getColumn(0).setPreferredWidth(23); jTableConsulta.getColumnModel().getColumn(0).setResizable(true); jTableConsulta.getColumnModel().getColumn(1).setPreferredWidth(120); jTableConsulta.getColumnModel().getColumn(1).setResizable(true); jTableConsulta.getColumnModel().getColumn(2).setPreferredWidth(100); jTableConsulta.getColumnModel().getColumn(2).setResizable(true); jTableConsulta.getColumnModel().getColumn(3).setPreferredWidth(80); jTableConsulta.getColumnModel().getColumn(3).setResizable(true); jTableConsulta.getColumnModel().getColumn(4).setPreferredWidth(150); jTableConsulta.getColumnModel().getColumn(4).setResizable(true); jTableConsulta.getTableHeader().setReorderingAllowed(false); jTableConsulta.setAutoResizeMode(jTableConsulta.AUTO_RESIZE_OFF); jTableConsulta.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); }
Ação dentro do botão consultar
private void jButtonConsultarActionPerformed(java.awt.event.ActionEvent evt) { consulta.setConsultaCurso((String)jComboBoxConsultaCurso.getSelectedItem()); preencherTabelaConsulta("select idAluno from cadastroaluno where curso=? "); //consulta.setConsultaCurso((String)jComboBoxConsultaCurso.getSelectedItem()); } **Não sei se estou fazendo certo Gostaria de uma ajuda**
Mensagens: 2
Participantes: 1