Insertar JTable en Jframe
Publicado por enric diaz (15 intervenciones) el 28/05/2016 14:24:06
Buenas:
Tengo un proyecto con dos clases
La clase MyTableMode contiene el modelo de la tabla
la clase Tabla despliega el modelo de tabla,entre otras cosas,en un JFrame.
Por ahora sólo consigo desplegar la parte de la tabla que contiene los datos ,sin que pueda ver las columnas
Agradecería comentarios.
Gracias anticipadas.
envío el código de las clases
//LA QUE CON TIENE EL MODELO DE TABLA
package tabla_en_jpanel;
import javax.swing.table.AbstractTableModel;
/**
*
* @author Enric
*/
public class MyTableModel extends AbstractTableModel {
//Array de los objetos con los datos de la tabla
final Object [][] data ={
{null ,null ,null,null,null },
{null ,null ,null,null,null },
{null ,null ,null,null,null },
{null ,null ,null,null,null },
{null ,null ,null,null,null }
};
//Array con los encabezamientos de las columnas
final String [] columnNames ={
"Nombre","Apellido","Pasatiempo","Años practica","Soltero/a"
};
//Numero de elementos de array de datos
@Override
public int getRowCount() {
return data.length;
}
//Numero de columnas
@Override
public int getColumnCount() {
return columnNames.length;
}
//retorno del elemento indicado
public String getColumnName(int col){
return columnNames[col];
}
//retorno de celdas
@Override
public Object getValueAt(int row, int col) {
return data[row][col];
}
//Editor predeterminado para cada celda
//public Class getColumnClass(int c){
// return null;
// return getValueAt(0,c).getClass();
// }
//Celdas Editables
public boolean isCellEditable(int row,int col){
return true;
}
//Datos tabla cambian
public void setValueAt(Object value,int row,int col){
data[row][col]=value;
fireTableCellUpdated(row,col);
}
void addColumn(String columnName) {
}
}
//LA QUE CONTIENE EL DESPLIEGUE DE LA TABLA
package tabla_en_jpanel;
import java.awt.*;
import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
/**
*
* @author Enric
*/
public class Tabla extends JFrame implements ActionListener{
//Crear el modelo de tabla
MyTableModel MiModelo = new MyTableModel();
//crear la tabla con el modelo MyModel
JTable tabla = new JTable(MiModelo);
//JscrollPane paRA LA TABLA
JScrollPane scrollPane = new JScrollPane(tabla);
public Tabla(){
//Panel contenedor
JFrame jFM = new JFrame("Panel");
jFM.setLayout(null);
//Definir el tamaño
tabla.setPreferredScrollableViewportSize(new Dimension (500,70));
//Agregar scrollPane a la tabla
getContentPane().add(scrollPane,BorderLayout.CENTER);
tabla.setBounds(20, 250, 600, 500);
//Añadir los componentes
jFM.add(tabla);
jFM.setLocation(100, 50);
jFM.setResizable(false);
jFM.setVisible(true);
jFM.setSize(800, 600);
}
public static void main(String[]args){
Tabla tabla = new Tabla();
}
@Override
public void actionPerformed(ActionEvent ae) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
Tengo un proyecto con dos clases
La clase MyTableMode contiene el modelo de la tabla
la clase Tabla despliega el modelo de tabla,entre otras cosas,en un JFrame.
Por ahora sólo consigo desplegar la parte de la tabla que contiene los datos ,sin que pueda ver las columnas
Agradecería comentarios.
Gracias anticipadas.
envío el código de las clases
//LA QUE CON TIENE EL MODELO DE TABLA
package tabla_en_jpanel;
import javax.swing.table.AbstractTableModel;
/**
*
* @author Enric
*/
public class MyTableModel extends AbstractTableModel {
//Array de los objetos con los datos de la tabla
final Object [][] data ={
{null ,null ,null,null,null },
{null ,null ,null,null,null },
{null ,null ,null,null,null },
{null ,null ,null,null,null },
{null ,null ,null,null,null }
};
//Array con los encabezamientos de las columnas
final String [] columnNames ={
"Nombre","Apellido","Pasatiempo","Años practica","Soltero/a"
};
//Numero de elementos de array de datos
@Override
public int getRowCount() {
return data.length;
}
//Numero de columnas
@Override
public int getColumnCount() {
return columnNames.length;
}
//retorno del elemento indicado
public String getColumnName(int col){
return columnNames[col];
}
//retorno de celdas
@Override
public Object getValueAt(int row, int col) {
return data[row][col];
}
//Editor predeterminado para cada celda
//public Class getColumnClass(int c){
// return null;
// return getValueAt(0,c).getClass();
// }
//Celdas Editables
public boolean isCellEditable(int row,int col){
return true;
}
//Datos tabla cambian
public void setValueAt(Object value,int row,int col){
data[row][col]=value;
fireTableCellUpdated(row,col);
}
void addColumn(String columnName) {
}
}
//LA QUE CONTIENE EL DESPLIEGUE DE LA TABLA
package tabla_en_jpanel;
import java.awt.*;
import java.awt.event.*;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
/**
*
* @author Enric
*/
public class Tabla extends JFrame implements ActionListener{
//Crear el modelo de tabla
MyTableModel MiModelo = new MyTableModel();
//crear la tabla con el modelo MyModel
JTable tabla = new JTable(MiModelo);
//JscrollPane paRA LA TABLA
JScrollPane scrollPane = new JScrollPane(tabla);
public Tabla(){
//Panel contenedor
JFrame jFM = new JFrame("Panel");
jFM.setLayout(null);
//Definir el tamaño
tabla.setPreferredScrollableViewportSize(new Dimension (500,70));
//Agregar scrollPane a la tabla
getContentPane().add(scrollPane,BorderLayout.CENTER);
tabla.setBounds(20, 250, 600, 500);
//Añadir los componentes
jFM.add(tabla);
jFM.setLocation(100, 50);
jFM.setResizable(false);
jFM.setVisible(true);
jFM.setSize(800, 600);
}
public static void main(String[]args){
Tabla tabla = new Tabla();
}
@Override
public void actionPerformed(ActionEvent ae) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
Valora esta pregunta


0