String data[][]={ {"101","Amit","670000"},{"102","Jai","780000"},{"101","Sachin","700000"}};
// (es posible incrustar código html si lo hacemos dentro de las etiquetas <html>)
String columns[]={"Ciclo","Módulo","<html>Unidad<br>Formativa>","Opcion"};
JTable tabla=new JTable(cursillos,column);
tabla.setBounds(30,40,200,300);
JScrollPane sp=new JScrollPane(tabla);
sp.setPreferredSize(new Dimension(1000, 300));
sp.setMinimumSize(new Dimension(1000,200));
panelGlobal.add(sp);
Cambiar el header de la tabla
tabla = new JTable();
JTableHeader th = tabla.getTableHeader();
th.setPreferredSize(new Dimension(100, 100));
Si sólo quisiera modificar la altura de la tabla, pero no su anchura
JTableHeader th = tabla.getTableHeader();
Dimension d = th.getPreferredSize();
d.height = 30;
th.setPreferredSize(d);
Alimentar la tabla sin usar su constructor
DefaultTableModel tableModel = new DefaultTableModel(cursillos, columns);
tabla.setModel(tableModel);
Alimentando la tabla con un ArrayList
String[][] arrayListCursoToMultidimensionalStringArray(ArrayListcursos){
Iterator<Curso> it = cursos.iterator();
String [][] cursosArray= new String[cursos.size()][3];
int i=0;
while(it.hasNext()) {
Curso c = it.next();
String[]curso = {c.getCiclo(), c.getModulo(), c.getUf(), "X"};
cursosArray[i] =curso;
i++;
}
return cursosArray;
}
Añadiendo un listener a la tabla
JTable jt=new JTable(cursillos,column);
jt.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
System.out.println("llega");
}
});
Añadir un popup al pulsar sobre una fila
JPopupMenu popup = new JPopupMenu();
JMenuItem removeItem = new JMenuItem("Eliminar fila");
popup.add(removeItem);
JTable tabla=new JTable(cursillos,column);
tabla.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
popup.show(jt, e.getX(), e.getY());
}
});
Materializar la opción de borrado
removeItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int row = tabla.getSelectedRow();
System.out.println(row);
}
});
Tabs
JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.add("Colors", new JPanel());
tabbedPane.add( "Fruits", new JPanel());
tabbedPane.add("Vitamins", new JPanel( ) ) ;
panelGlobal.add(tabbedPane);
Para modificar dinámicamente el contenido de un tab:
tabbedPane.setComponentAt(2, panelCursos);