Pessoal como faço para colocar um JTable em um
JInternalFrame
fiz assim mais ai num abre a janela
import javax.swing.border.TitledBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.BorderFactory;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.*;
import javax.swing.text.MaskFormatter;
import java.sql.*;
class Funcionario extends JInternalFrame implements ActionListener
{
ResultSet res;
DefaultTableModel modelo;
JTable tabela;
JScrollPane newScroll;
JLabel lrecebenome, lcpf;
JFormattedTextField tcpf;
JTextField nome;
JButton bentrada, bsaida;
JPanel pcentro, pnort;
JInternalFrame framefuncionario;
SimpleDateFormat formatoData, formatohora;
Date dataAtual, horaatual;
String dataAtual1 , horaatual1;
int linhaselecionada;
Conectando cone;
public Funcionario()
{
//Jtextfield
nome = new JTextField();
nome.setFont(new Font("Arial",1,16));
nome.setBounds(350,30,300,20);
nome.setForeground(Color.BLUE);
nome.setEditable(false);
//JLabel
lcpf = new JLabel("C.P.F.");
lcpf.setFont(new Font("Arial",1,18));
lcpf.setBounds(20,20,100,40);
//JButton's
bentrada = new JButton("Entrada");
bentrada.setBounds(400,120,80,40);
bentrada.addActionListener(this);
bsaida = new JButton("Saida");
bsaida.setBounds(500, 120, 80, 40);
bsaida.addActionListener(this);
//JFormattedTextField
try
{
tcpf = new JFormattedTextField(new MaskFormatter("###.###.###-##"));
tcpf.setBounds(120,30,140,20);
tcpf.setFont(new Font("Verdana",1,14));
}
catch(java.text.ParseException erro)
{
}
//JPanel's
pcentro = new JPanel();
pcentro.setLayout(null);
pnort = new JPanel();
//JInternalFrame
framefuncionario = new JInternalFrame("Entrada e Saida de Funcionario", true, true, true, true);
framefuncionario.pack();
framefuncionario.setSize(670,380);
framefuncionario.setVisible(true);
setLocation(200,200);
//Cadastra no painel
pcentro.add(lcpf);
pcentro.add(tcpf);
pcentro.add(nome);
pcentro.add(bentrada);
pcentro.add(bsaida);
//Painel sul Tabela
//configura data
dataAtual = new Date();
formatoData = new SimpleDateFormat ("dd/MM/yyyy");
dataAtual1 = formatoData.format(dataAtual);
//configura hora
horaatual = new Date();
formatohora = new SimpleDateFormat ("HH:mm:ss");
horaatual1 = formatohora.format(horaatual);
//Tabela
try
{
Conectando cone = new Conectando();
cone.MeuState = cone.MinhaConexao.createStatement();
res = cone.MeuState.executeQuery("SELECT dbcpf, dbnome, dbdata, dbhoraentrada, " +
"dbhorasaida, dbhoratotal");
cone.MeuState.close();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
try
{
Vector linhas = new Vector();
Vector colunas = new Vector();
ResultSetMetaData rsmd = res.getMetaData();
colunas.addElement("C.P.F.");
colunas.addElement("Nome");
colunas.addElement("Data");
colunas.addElement("Hora Entrada");
colunas.addElement("Hora Saida");
colunas.addElement("Total de Horas");
do
{
linhas.addElement(fazerLinha(res,rsmd));
}
while( res.next() );
modelo = new DefaultTableModel(linhas,colunas);
tabela = new JTable(modelo);
tabela.getColumnModel().getColumn(0).setPreferredWidth(25);
tabela.getColumnModel().getColumn(1).setPreferredWidth(320);
tabela.getColumnModel().getColumn(2).setPreferredWidth(15);
tabela.getColumnModel().getColumn(3).setPreferredWidth(50);
tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
ListSelectionModel LSMlinhaSel = tabela.getSelectionModel();
LSMlinhaSel.addListSelectionListener( new ListSelectionListener()
{
public void valueChanged( ListSelectionEvent e)
{
ListSelectionModel LSMsel = (ListSelectionModel)e.getSource();
linhaselecionada = LSMsel.getMinSelectionIndex();
}
}
);
newScroll = new JScrollPane(tabela);
newScroll.setPreferredSize(new java.awt.Dimension(480,370));
pnort.add(newScroll);
pnort.setVisible(true);
pnort.setSize(800,400);
validate();
cone.MeuState.close();
}
catch(SQLException sqe)
{
JOptionPane.showMessageDialog(null,"Erro ao projetar Tabela","Criar Tabela",JOptionPane.ERROR_MESSAGE);
}
}
private Vector fazerLinha(ResultSet res,ResultSetMetaData resmd)
{
Vector LinhaAtual = new Vector();
try
{
for( int i = 1; i <= resmd.getColumnCount(); ++i)
switch(resmd.getColumnType(i))
{
case Types.VARCHAR:
LinhaAtual.addElement( res.getString(i) );
break;
case Types.TIMESTAMP:
LinhaAtual.addElement( res.getDate(i) );
break;
case Types.INTEGER:
LinhaAtual.addElement( new Long( res.getLong(i) ) );
break;
}
}
catch(SQLException sqe)
{
JOptionPane.showMessageDialog(null,"Erro ao construir Linha","Tabela",JOptionPane.ERROR_MESSAGE);
}
return LinhaAtual;
}
public void actionPerformed(ActionEvent e)
{
Conectando conectiva = new Conectando();
if(e.getSource()==bentrada)
{
try{
String query = "SELECT dbcpf, dbnome FROM TBMotorista "+
"WHERE dbcpf = '" +
tcpf.getText() + "'";
ResultSet rs = conectiva.MeuState.executeQuery(query);
rs.next();
nome.setText(rs.getString("dbnome"));
}
catch(SQLException er)
{
JOptionPane.showMessageDialog(null,"Cpf Invalido");
}
if(!nome.getText().equals(""))
{
try
{
String sql= "INSERT INTO TBEntrada (dbcategoria, "+
"dbcpf, dbnome, dbdata, dbhoraentrada, "+
"dbhorasaida, dbhoratotal ) Values(";
sql = sql + "'Funcionario',";
sql = sql + "'" + tcpf.getText()+"', ";
sql = sql + "'" + nome.getText() + "', ";
sql = sql + "'" + dataAtual1 + "', ";
sql = sql + "'" + horaatual1 + "', ";
sql = sql + "null,";
sql = sql + "null )";
conectiva.MeuState.executeUpdate(sql);
}
catch(SQLException ex)
{
if(ex.getMessage().equals("General error"))
JOptionPane.showMessageDialog(null,"Veiculo já Cadastrado");
else
JOptionPane.showMessageDialog(null,"Dado(s) invalido(s)"+ex);
}
}
else
{
JOptionPane.showMessageDialog(null,"Cpf Invalido!");
}
}
if(e.getSource()==bsaida)
{
if(!tcpf.getText().equals(""))
{
try
{
String sql = "UPDATE TBEntrada SET "+
"dbhorasaida= '" + horaatual1+ "' "+
"WHERE dbcpf = '"+ tcpf.getText() +"'" + " And dbhorasaida IS NULL ";
int rs = conectiva.MeuState.executeUpdate(sql);
System.out.println(sql);
}
catch(SQLException erro)
{
JOptionPane.showMessageDialog(null,"Nao Foi possivel fazer a gravação
"+erro);
}
}
else
{
JOptionPane.showMessageDialog(null,"Digite o CPF!");
}
}
}
}
aqui esta aonde visualiza a internalframe
if(e.getSource()==mientradaesaidadiversos)
{
Funcionario func = new Funcionario();
func.framefuncionario.pack();
func.framefuncionario.setSize(800,600);
func.framefuncionario.setVisible(true);
container = func.framefuncionario.getContentPane();
container.add(func.pcentro, BorderLayout.CENTER);
container.add(func.pnort, BorderLayout.SOUTH);
theDesktop.add(func.framefuncionario);
}