Olá pessoal, estou tentando inserir um JTable num JInternalFrame, mas não estou tendo sucesso, a única coisa que aparece na tela é uma linha da JTable em branco, o engraçado que não aparece os titulos das colunas, com certeza é alguma coisa errada, já rodei e revirei e tentei fazer de várias formas mas não obtive sucesso.
Vou postar o código abaixo para vcs estarem olhando:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.BorderFactory;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JInternalFrame;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class MovEntradaItens extends JInternalFrame implements ActionListener, KeyListener{
private static final long serialVersionUID = 1L;
//private boolean DEBUG = false;
JInternalFrame MovEntrada = new JInternalFrame("Movimento Entrada",true, true, true, true);
private String status = "";
public String getStatus(){
return status;
}
//CRIANDO O PAINEL PARA INSERIR OS OBJETOS.
JPanel pl = new JPanel();
//CRIANDO OS OBJETOS.
JLabel lblCodigo = new JLabel("Código:");
JTextField txtCodigo = new JTextField();
JLabel lblData = new JLabel("Data:");
JTextField txtData = new JTextField();
JLabel lblFornecedor = new JLabel("Fornecedor:");
JTextField txtFornecedor = new JTextField();
JLabel lblValorTotal = new JLabel("Valor Total:");
JTextField txtValorTotal = new JTextField();
JLabel lblCodigoDoProduto = new JLabel("Cod. Produto:");
JTextField txtCodigoDoProduto = new JTextField();
JLabel lblDescricao = new JLabel("Descrição:");
JTextField txtDescricao = new JTextField();
JLabel lblCpmf = new JLabel("C.P.M.F:");
JTextField txtCpmf = new JTextField();
JLabel lblIpi = new JLabel("I.P.I:");
JTextField txtIpi = new JTextField();
JLabel lblQtd = new JLabel("QTD:");
JTextField txtQtd = new JTextField();
JLabel lblValorCompra = new JLabel("Valor Compra:");
JTextField txtValorCompra = new JTextField();
//BOTÃO PARA INSERIR OS DADOS NO JTABLE.
JButton cmdAdd = new JButton(">>");
//INSERINDO O JTABLE
String[] colunas = {"Cód.produto", "Descrição", "I.P.I", "CPMF", "QTD", "Valor"};
Object[][] data = {{txtCodigo.getText(), txtDescricao.getText(),
txtIpi.getText(), txtCpmf.getText(),
txtQtd.getText(), txtValorCompra.getText()}
};
final JTable table = new JTable(data, colunas);
public void criaTela(){
pl.setBorder(BorderFactory.createTitledBorder("Movimento Entrada"));
lblCodigo.setBounds(10,30,90,20);
txtCodigo.setBounds(60,30,70,20);
lblData.setBounds(140,30,90,20);
txtData.setBounds(175,30,120,20);
lblFornecedor.setBounds(305,30,90,20);
txtFornecedor.setBounds(380,30,120,20);
lblValorTotal.setBounds(685, 10, 90, 20);
txtValorTotal.setBounds(680, 30, 80, 40);
txtValorTotal.setEditable(false);
lblValorTotal.setBackground(Color.BLUE);
lblCodigoDoProduto.setBounds(10, 90, 100, 20);
txtCodigoDoProduto.setBounds(10, 110, 150, 20);
lblDescricao.setBounds(165, 90, 100, 20);
txtDescricao.setBounds(165, 110, 280, 20);
lblIpi.setBounds(450, 90, 100, 20);
txtIpi.setBounds(450, 110, 30, 20);
lblCpmf.setBounds(485, 90, 100, 20);
txtCpmf.setBounds(485, 110, 50, 20);
lblQtd.setBounds(540, 90, 100, 20);
txtQtd.setBounds(540, 110, 50, 20);
lblValorCompra.setBounds(595, 90, 100, 20);
txtValorCompra.setBounds(595, 110, 100, 20);
new GridLayout(1,0);
table.setPreferredScrollableViewportSize(new Dimension(500,70));
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
table.setBounds(10, 300, 500, 70);
//BOTÕES
cmdAdd.setBounds(700, 110, 50, 20);
//ADICIONANDO OS COMPONENTES NO PAINEL.
pl.add(lblCodigo);
pl.add(txtCodigo);
pl.add(lblData);
pl.add(txtData);
pl.add(lblFornecedor);
pl.add(txtFornecedor);
pl.add(lblValorTotal);
pl.add(txtValorTotal);
pl.add(lblCodigoDoProduto);
pl.add(txtCodigoDoProduto);
pl.add(lblDescricao);
pl.add(txtDescricao);
pl.add(lblIpi);
pl.add(txtIpi);
pl.add(lblCpmf);
pl.add(txtCpmf);
pl.add(lblQtd);
pl.add(txtQtd);
pl.add(lblValorCompra);
pl.add(txtValorCompra);
pl.add(cmdAdd);
pl.add(table);
MovEntrada.setBounds(05,10,780,530);
pl.setLayout(null);
pl.setBackground(Color.white);
//ADICIONA O PAINEL NO FRAME.
MovEntrada.getContentPane().add(pl);
MovEntrada.setVisible(true);
Mdi.desktop.add(MovEntrada);
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}
OBS: - No meu conceito, estou declarando uma tabela, coloco as colunas, os dados que irão conter “data”.
Não sei o que está errado, peço a compreenção de todos mais uma vez.
Por favor me ajudem
