Como insertar un JTable en un JTabbed
Tengo el siguiente codigo que me genera un JTable con datos de SQL Server
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.SQLException;
public class QueryFrame2 extends JFrame {
ResultSetTableModelFactory factory; // Factory para obtener nuestros datos de la tabla
JTextField query; // Campo para capturar el query
JTable table; // Tabla para mostrar los datos
JLabel msgline; // Para mostrar los mensajes
public QueryFrame2(ResultSetTableModelFactory f) {
super("QueryFrame2"); // Coloca el titulo de la ventana
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { System.exit(0); }
});
this.factory = f;
query = new JTextField(); // Permite al usuario capturar un query
table = new JTable(); // Muestra la tabla
msgline = new JLabel(); // Muestra los mensajes
Container contentPane = getContentPane();
contentPane.add(new JScrollPane(table), BorderLayout.CENTER);
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
String q;
q = "Select * from Nec_Projects";
table.setModel(factory.getResultSetTableModel(q));
msgline.setText(" ");
}
catch (SQLException ex) {
msgline.setText(" ");
JOptionPane.showMessageDialog(QueryFrame2.this,
new String[] { // Muestra un mensaje de 2 lineas
ex.getClass().getName() + ": ",
ex.getMessage()
});
}
}
});
} // public QueryFrame2(ResultSetTableModelFactory f) {
public static void main(String args[]) throws Exception {
ResultSetTableModelFactory factory =
new ResultSetTableModelFactory(args[0], args[1], args[2], args[3]);
QueryFrame2 qf = new QueryFrame2(factory);
qf.setSize(500, 600);
qf.setVisible(true);
QueryFrame2 qf2 = new QueryFrame2(factory);
qf2.setSize(500, 600);
qf2.setVisible(true);
}
}
/////////////////////////////////////////////////////////
// Quiero insertar el codigo de arriba en un Tab del siguiente programa:
/////////////////////////////////////////////////////////
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class ejemploJTabbed extends JFrame{
// Variables de ejemploJTabbed
JTextField t1;
JTable table;
JTable table2;
JPanel p1,p2,p3,p4,p5,p6;
JTabbedPane tb1;
// encabezados el jtable
String[] encabezados = {" A "," B "," C "," D "," E "};
// se introduce este elemento para tener el control de los metodo addRow
// y removeRow en JTABLE
//////////////////////////////////////////////////////////
// AQUI ES DONDE CREO QUE SE DEBE DE INSERTAR LOS DATOS //
//////////////////////////////////////////////////////////
DefaultTableModel datos = new DefaultTableModel( new String[][] {
{"1", "2", "3", "4", "5"}, {"6", "7", "8", "9", "10"} },
new String[] {"A", "B", "C", "D", "E"});
DefaultTableModel datos2 = new DefaultTableModel( new String[][] {
{"10", "12", "13", "14", "15"}, {"16", "17", "18", "19", "20"} },
new String[] {"F", "G", "H", "I", "J"});
public ejemploJTabbed() {
super("Administración de Necesidades de Personal");
Container c= getContentPane();
tb1=new JTabbedPane();
p1=new JPanel();
p1.setLayout(new FlowLayout());
p2=new JPanel();
p2.setLayout(new FlowLayout());
p3=new JPanel();
p3.setLayout(new FlowLayout());
p4=new JPanel();
p4.setLayout(new FlowLayout());
p5=new JPanel();
p5.setLayout(new FlowLayout());
p6=new JPanel();
p6.setLayout(new FlowLayout());
t1 = new JTextField(10);
// se crea el jtable y se pasa como parametro en su contructor
// el modelo de datos para definir encabezados y una fila vacia
table=new JTable( datos );
table2=new JTable( datos2 );
// JScrollPane scrollPane = new JScrollPane(table);
//Creamos un JscrollPane y le agregamos la JTable
JScrollPane scrollPane = new JScrollPane(table);
p1.add(table); // se agregan componentes a los paneles
p2.add(table2); // se agregan componentes a los paneles
//se agregar los paneles al JTabbedPane
tb1.addTab("Parameters",null,p1,"Parameters");
tb1.addTab("Projects", null,p2,"Projects");
tb1.addTab("Proposals", null,p3,"Proposals");
Tb1. AddTab("Percent",...
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.SQLException;
public class QueryFrame2 extends JFrame {
ResultSetTableModelFactory factory; // Factory para obtener nuestros datos de la tabla
JTextField query; // Campo para capturar el query
JTable table; // Tabla para mostrar los datos
JLabel msgline; // Para mostrar los mensajes
public QueryFrame2(ResultSetTableModelFactory f) {
super("QueryFrame2"); // Coloca el titulo de la ventana
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { System.exit(0); }
});
this.factory = f;
query = new JTextField(); // Permite al usuario capturar un query
table = new JTable(); // Muestra la tabla
msgline = new JLabel(); // Muestra los mensajes
Container contentPane = getContentPane();
contentPane.add(new JScrollPane(table), BorderLayout.CENTER);
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
String q;
q = "Select * from Nec_Projects";
table.setModel(factory.getResultSetTableModel(q));
msgline.setText(" ");
}
catch (SQLException ex) {
msgline.setText(" ");
JOptionPane.showMessageDialog(QueryFrame2.this,
new String[] { // Muestra un mensaje de 2 lineas
ex.getClass().getName() + ": ",
ex.getMessage()
});
}
}
});
} // public QueryFrame2(ResultSetTableModelFactory f) {
public static void main(String args[]) throws Exception {
ResultSetTableModelFactory factory =
new ResultSetTableModelFactory(args[0], args[1], args[2], args[3]);
QueryFrame2 qf = new QueryFrame2(factory);
qf.setSize(500, 600);
qf.setVisible(true);
QueryFrame2 qf2 = new QueryFrame2(factory);
qf2.setSize(500, 600);
qf2.setVisible(true);
}
}
/////////////////////////////////////////////////////////
// Quiero insertar el codigo de arriba en un Tab del siguiente programa:
/////////////////////////////////////////////////////////
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class ejemploJTabbed extends JFrame{
// Variables de ejemploJTabbed
JTextField t1;
JTable table;
JTable table2;
JPanel p1,p2,p3,p4,p5,p6;
JTabbedPane tb1;
// encabezados el jtable
String[] encabezados = {" A "," B "," C "," D "," E "};
// se introduce este elemento para tener el control de los metodo addRow
// y removeRow en JTABLE
//////////////////////////////////////////////////////////
// AQUI ES DONDE CREO QUE SE DEBE DE INSERTAR LOS DATOS //
//////////////////////////////////////////////////////////
DefaultTableModel datos = new DefaultTableModel( new String[][] {
{"1", "2", "3", "4", "5"}, {"6", "7", "8", "9", "10"} },
new String[] {"A", "B", "C", "D", "E"});
DefaultTableModel datos2 = new DefaultTableModel( new String[][] {
{"10", "12", "13", "14", "15"}, {"16", "17", "18", "19", "20"} },
new String[] {"F", "G", "H", "I", "J"});
public ejemploJTabbed() {
super("Administración de Necesidades de Personal");
Container c= getContentPane();
tb1=new JTabbedPane();
p1=new JPanel();
p1.setLayout(new FlowLayout());
p2=new JPanel();
p2.setLayout(new FlowLayout());
p3=new JPanel();
p3.setLayout(new FlowLayout());
p4=new JPanel();
p4.setLayout(new FlowLayout());
p5=new JPanel();
p5.setLayout(new FlowLayout());
p6=new JPanel();
p6.setLayout(new FlowLayout());
t1 = new JTextField(10);
// se crea el jtable y se pasa como parametro en su contructor
// el modelo de datos para definir encabezados y una fila vacia
table=new JTable( datos );
table2=new JTable( datos2 );
// JScrollPane scrollPane = new JScrollPane(table);
//Creamos un JscrollPane y le agregamos la JTable
JScrollPane scrollPane = new JScrollPane(table);
p1.add(table); // se agregan componentes a los paneles
p2.add(table2); // se agregan componentes a los paneles
//se agregar los paneles al JTabbedPane
tb1.addTab("Parameters",null,p1,"Parameters");
tb1.addTab("Projects", null,p2,"Projects");
tb1.addTab("Proposals", null,p3,"Proposals");
Tb1. AddTab("Percent",...
Respuesta de krlosnow
1