Tutorial JTable
Para empezar a usar esta herramienta primero debes saber en que consiste, es decir,
qu es? para qu sirve?. Para ello, voy a hacer una pequea definicin de la clase
JTable y luego explicar su uso y otras aplicaciones o clases ligadas a ella.
JTable es una herramienta visual de Java que sirve para poder dibujar tablas, con sus
respectivas filas y columnas en donde puedes ingresar el dato que tu desees, como por
ejemplo: tu nombre, tu rut, tu apellido, entre otros.
Para poder usar bien la herramienta JTable, es necesario trabajar con otras
herramientas que estn vinculadas a su desarrollo, para poder as tener un mejor
funcionamiento en el momento de implementar una tabla. Estas herramientas son:
1.- DefaultTableModel
2.- JScrollPane
3.- JFrame
4.- JPanel
5.- awt(abstract windows toolkit o herramienta de ventana abstracta)
El DefaultTableModel es una clase que implementa TableModelque contiene todos
los mtodos necesarios para modificar datos en su interior, aadir filas o columnas y
darle a cada columna el nombre que se desee. Para
utilizar DefaultTableModel debemos importarla y luego declararla para luego poder
usar la clase JTable, un ejemplo es:
import [Link];
import [Link];
DefaultTableModel modelo = new DefaultTableModel();
JTable tabla = new JTable (modelo);
La siguiente herramienta es el JScrollPane, es una clase importada en swing que
permite asociarle una pequea vista o ventana deslizable o corrediza, que permite solo
que se vea una parte de dicho complemento en la tabla. Para poder usarlo, importamos
la clase y luego la declaramos, un ejemplo sera:
import [Link];
import [Link];
import [Link];
DefaultTableModel modelo = new DefaultTableModel();
JTable tabla = new JTable (modelo);
JSrollPane scrollpane = new JScrollPane(tabla);
Un JFrame es una clase que implementa como una instancia un frame que es una
ventana con decoraciones, tales como: bordes, ttulos y botones(conos y para
cerrar la ventana). Para poder utilizar esta herramienta hacemos los siguiente:
import [Link].*;
import [Link].*;
import [Link].*;
public class HolaMundo{
public static void main(String [] args){
JFrame frame = new JFrame("HolaMundoSwing");
......
[Link]();
[Link](true);
}
}
Un JPanel es un contenedor ligero genrico que tiene la finalidad de "caja" donde
tu puedes ir insertando cosas y as puedes manejarlos como una agrupacin. Un
ejemplo donde se implementa esta herramienta es:
import [Link].*;
import [Link].*;
import [Link].*;
public class PanelSolo {
public static void main(String[] args) {
JFrame f = new JFrame("Ejemplo");
[Link](JFrame.EXIT_ON_CLOSE);
Panel p0 = new Panel();
Panel p1 = new Panel();
Panel p2 = new Panel();
Panel p3 = new Panel();
Panel p4 = new Panel();
[Link](p0,"North");
[Link](p1,"West");
[Link](p2,"South");
[Link](p3,"Center");
[Link](p4,"East");
// Coloreo para distinguir los paneles.
[Link]([Link]);
[Link]([Link]);
[Link]([Link]);
[Link]();
[Link](true);
}
Por ltimo esta el paquete awt(abstract windows toolkit o herramienta de ventana
abstracta), es un kit de herramientas de grficos, interfaz de usuario, y sistema de
ventanas independientes de la plataforma de Java.
Luego de explicar cada definicin de las herramientas y un ejemplo de uso, vamos
ahora a mostrar un ejemplo completo con todos los elementos que son utilizados
para complementar la tabla. El ejemplo es el siguiente:
import
import
import
import
import
[Link];
[Link];
[Link];
[Link];
[Link];
import [Link].*;
import [Link].*;
public class EjemploTabla extends JFrame {
public EjemploTabla() {
super("Tabla de usuarios");
//array bidimencional de objetos con los datos de la tabla
Object[][] data = {"Daniel", "Villar","Esquiar", new Integer(5), new
Boolean(false)},
{"Carlos", "Villar","Patinar", new Integer(3), new Boolean(true)},
{"Karinna", "Villar","Escalar", new Integer(2), new Boolean(false)},
{"Mario", "Diaz","Correr", new Integer(7), new Boolean(true)},
{"Sylvia", "Uribe","Modelar", new Integer(4), new Boolean(false)}};
//array de String's con los ttulos de las columnas
String[] columnNames = {"Nombre","Apellido","Pasatiempo","Aos de
Practica","Soltero(a)"};
//creamos el Modelo de la tabla con los datos anteriores
DefaultTableModel dtm= new DefaultTableModel(data, columnNames);
//se crea la Tabla con el modelo DefaultTableModel
final JTable table = new JTable(dtm);
// una vez creada la tabla con su modelo
// podemos agregar columnas
String[] newColumn= {"Flan","Pastel","Helado","Barquillo","Manzana" };
[Link]("Postre",newColumn);
//filas
Object[] newRow={"Pepe", "Grillo","Tenis", new Integer(5), new
Boolean(false),
"Pera"};
[Link](newRow);
//o modificar una celda en especifico
[Link]("Catherine", 1, 1);
//se define el tamao
[Link](new Dimension(500, 70));
//Creamos un JscrollPane y le agregamos la JTable
JScrollPane scrollPane = new JScrollPane(table);
//Agregamos el JScrollPane al contenedor
getContentPane().add(scrollPane, [Link]);
//manejamos la salida
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
[Link](0);
}
});
}
public static void main(String[] args) {
EjemploTabla frame = new EjemploTabla();
[Link]();
[Link](true);
Ejercicio
-Realizar un JTable simple con su Horario de la semana.