Olá colegas,
Desenvolvi um sistema simples de boletim escolar. Conforme os dados são inseridos nas textfields ao clicar no botão Resultado, deverá mostrar em uma JTable. O problema é que a última coluna (resultado) da JTable tem que estar dentro de uma condição if/else para setar se o aluno está "aprovado", "em recuperação" ou "reprovado conforme a condição". Estou com dificuldades em descobrir qual é o método correto que seta este resultado de forma dinâmica. Segue os prints:
Conforme o código e o print acima, o sistema funciona somente para a primeira linha, porque está setando de forma estática, obtendo os valores do índice e coluna, qual seria o método para setar o valor de forma dinâmica do índice e coluna?
Olá, pessoal.
Estou desenvolvendo um sistema onde em uma tela de cadastro de pedidos existe um jbutton para pesquisar produtos, ao cliclar nesse botão abre uma nova JFrame com o campo pesquisar e uma Jtable.
Ao selecionar uma linha no JTable o Id do produto, e nome deveria retornar para a tela JFrame aberta anteriormente (o que não esta acontecendo, pois está abrindo uma nova tela de pedidos com os campos devidamente preenchidos).
Código da Tela de pedido chamando a tela pesquisar produto:
private void btnPesquisarProdutoActionPerformed(java.awt.event.ActionEvent evt) {
// abrir a tela pesquisar produto
TelaPesquisarProdutos produtos = new TelaPesquisarProdutos();
produtos.setVisible(true);
this.add(produtos);
código da tela pesquisar produto setando os campos na tela pedido:
private void tblProdutosMouseClicked(java.awt.event.MouseEvent evt) {
TelaPedidos frame = new TelaPedidos();
frame.jTabbedPane1.setSelectedIndex(1);
frame.txtIdProduto.setText(tblProdutos.getValueAt(tblProdutos.getSelectedRow(), 0).toString());
frame.txtProduto.setText(tblProdutos.getValueAt(tblProdutos.getSelectedRow(), 1).toString());
frame.setVisible(true);
this.dispose();
}
Resumindo, só quero que os dois campos do JTable retorne para o primeiro JFrame aberto.
Olá Pessoal, estou tentando carregar uma jTable a partir de DefaultTableModel (duas colunas).
Mas a table não preenchem automaticamente ao carregar... Ficando vazia só com o cabeçalho definido no "modelo".
Tenho a classe TableModelProd configurada uma vez que via jButtons eu Adiciono e removo linhas...
respectivamente: tabelaModel.addRow e tabelaModel.removeRow(table.getSelectedRow());
- Pelo menos penso eu!?!
No "DAO" tenho um ArrayList :
public List<Produtos> read(){
List<Produtos> dados = new ArrayList<>();
try {
Connection connection = ConexaoUtil.getInstance().getConnection();
String xSql ="SELECT idProd,Produto FROM tbProdutos Order by Produto";
PreparedStatement statement = connection.prepareStatement(xSql);
ResultSet resultset = statement.executeQuery();
while (resultset.next()) {
Produtos produto = new Produtos();
produto.setIdProd(resultset.getInt("idProd"));
produto.setNome(resultset.getString("Produto"));
dados.add(produto);
}
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
return dados;
}
Na tela Principal faço:
CadastroProdDAO cadastroProdDAO = new CadastroProdDAO();
List<Produtos> result3 = cadastroProdDAO.read();
for (int i = 0; i < result3.size(); i++) {
tableModel.addRow(new Object[]{result3.get(i).getIdProd(), result3.get(i).getNome()});
System.out.println(result3.get(i).getIdProd() +"|"+ result3.get(i).getNome());
}
Imprimindo este resultado no console (tela principal ):
1|B1 1,50M
2|B1 1,60M
o próprio título eu acho que já descreve tudo, emfim minha tabela está recebendo as informações como null, alguém ae pode me ajudar?
seguem os códigos:
1º tentando inserir as infos na minha tabela
public void adiciona() throws ClassNotFoundException {
Connection con = null;
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/dbge", "root", "");
java.sql.Statement stmt = con.createStatement();
String query = "select U.nome, C.codcaixa, C.valorfechamento, C.dt_fechamento from tbCaixa C\n"
+ "inner join tbusuario U on U.rm = C.codusuario";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
funcionarioCaixa fc = new funcionarioCaixa(nome, numerocaixa, valorfechamento, hora);
String nome = rs.getString("nome");
int codcaixa = rs.getInt("codcaixa");
double valorfechamento = rs.getDouble("valorfechamento");
Date data = rs.getDate("dt_fechamento");
this.tableModelPessoa.addCaixa(fc);
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao receber variáveis" + ex);
}
}
2º minha classe funcionarioCaixa
public class funcionarioCaixa {
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getNumerocaixa() {
return numerocaixa;
}
public void setNumerocaixa(int numerocaixa) {
this.numerocaixa = numerocaixa;
}
public double getValorfechamento() {
return valorfechamento;
}
public void setValorfechamento(double valorfechamento) {
this.valorfechamento = valorfechamento;
}
public Date getHora() {
return hora;
}
public void setHora(Date hora) {
this.hora = hora;
}
public funcionarioCaixa(String nome, int numerocaixa, double valorfechamento, Date hora) {
this.nome = nome;
this.numerocaixa = numerocaixa;
this.valorfechamento = valorfechamento;
this.hora = hora;
}
String nome;
int numerocaixa;
double valorfechamento;
Date hora;
}