privateJTabletabela;privateDefaultTableModelmodelo=newDefaultTableModel();privatevoidcriaJTable()throwsSQLException{tabela=newJTable(modelo);modelo.addColumn("Código da venda");modelo.addColumn("Código do cliente");modelo.addColumn("Matrícula do funcionário:");modelo.addColumn("Valor total");modelo.addColumn("Pagamento");modelo.addColumn("Parcelas");modelo.addColumn("Data");tabela.getColumnModel().getColumn(0).setPreferredWidth(40);tabela.getColumnModel().getColumn(1).setPreferredWidth(40);tabela.getColumnModel().getColumn(2).setPreferredWidth(40);tabela.getColumnModel().getColumn(3).setPreferredWidth(120);tabela.getColumnModel().getColumn(4).setPreferredWidth(40);tabela.getColumnModel().getColumn(5).setPreferredWidth(20);tabela.getColumnModel().getColumn(6).setPreferredWidth(120);pesquisarNomes("SELECT * FROM vender");}privatevoidpesquisarNomes(Stringsql)throwsSQLException{modelo.setNumRows(0);Connectioncon=Conectadb.getConnection();PreparedStatementpreparedStatement=null;preparedStatement=con.prepareStatement(sql);ResultSetrs=preparedStatement.executeQuery();while(rs.next()){modelo.addRow(newString[]{rs.getString("CodigoVenda"),rs.getString("CodigoCliente"),rs.getString("MatriculaFuncionario"),"R$"+String.format("%,.2f",rs.getFloat("ValorTotal")),rs.getString("Pagamento"),rs.getString("Parcelas"),rs.getString("DataRealizacao")});}}
Como n surtiu efeito?
nada acontece feijoada? rsrs
Y
Yan_David
Não kkkkkk, a MessageDialog não apareceu.
Rodrigo_Void
Com JTable o ideal é sempre manter a Orientação a Objetos evitando usar DefaultTableModel e implementando seu próprio tableModel. Com ele poderá usar objetos na tabela e n precisará ficar usando-a como uma matriz horrível.
Rodrigo_Void
Realmente estranho. Se vc tem o evento tabelaMouseClicked atribuido a tabela, deve chamar. Não está dando erro?
Y
Yan_David
Tá executando numa boa, porém quando eu clico não dá nada.
Rodrigo_Void
Posta todo código da tela se possível, pra ver onde que tabelaMouseClicked está atribuido à tabela.
Y
Yan_David
Interface:
Código:
Rodrigo_Void
Era pra ser o código completo.
Mas ali já é possível visualizar um alerta sobre este método que provavelmente diz: “Este método não está sendo utilizado”.
Se vc criou todo o método a mão, não vai surtir efeito mesmo. Vc precisa de um EVENTO da tabela que o chame. Vá na parte de eventos e implemente o mouseClicked
Y
Yan_David
Como? kk
Não tem o componente JTable…
Rodrigo_Void
Selecione a jTable -> propriedades -> eventos
Y
Yan_David
mas onde eu seleciono a JTable?
ela não aparece nos componentes
privatevoidcriaJTable()throwsSQLException{// aqui criou a tabelatabela=newJTable(modelo);// então depois que criou, pode adicionar um listener para tratar algum eventotabela.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEventevt){// código a ser executado quando clicou no componente}});// restante do código do método criaJTable()...}
Rodrigo_Void
Não cara, vc tá precisando estudar lógica.
privatevoidcriaJTable()throwsSQLException{tabela=newJTable(modelo);modelo.addColumn("Código da venda");modelo.addColumn("Código do cliente");modelo.addColumn("Matrícula do funcionário:");modelo.addColumn("Valor total");modelo.addColumn("Pagamento");modelo.addColumn("Parcelas");modelo.addColumn("Data");tabela.getColumnModel().getColumn(0).setPreferredWidth(40);tabela.getColumnModel().getColumn(1).setPreferredWidth(40);tabela.getColumnModel().getColumn(2).setPreferredWidth(40);tabela.getColumnModel().getColumn(3).setPreferredWidth(120);tabela.getColumnModel().getColumn(4).setPreferredWidth(40);tabela.getColumnModel().getColumn(5).setPreferredWidth(20);tabela.getColumnModel().getColumn(6).setPreferredWidth(120);pesquisarNomes("SELECT * FROM vender");tabela.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEventevt){// código a ser executado quando clicou no componente}});}
Substitui seu código por esse. Se n souber onde ou como eu to fora. se esforça ai.
Y
Yan_David
My bad, o que eu tava fazendo realmente estava sem nexo…
Isso que dá o mal costume de criar os eventos pelo “Projeto”.