import java.awt.Component;
import java.util.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.*;
public class TableDemo extends JFrame
{
private JTable myTable;
public TableDemo()
{
this.setSize(300, 300);
Vector columnNames = new Vector(Arrays.asList(new Object[] { "spalte 1, spalte 2" }));
Vector tableData = new Vector();
tableData.add( new Vector(Arrays.asList(new Object[] { "wert 1, wert 2" }) ));
tableData.add(new Vector(Arrays.asList(new Object[] { "wert 3, wert 4" })));
this.myTable = new JTable(new DefaultTableModel(tableData, columnNames));
this.myTable.setDefaultRenderer(Object.class, new DefaultTableCellRenderer()
{
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
/* When columns resorted by user the column is unequal to
* the columns of the model. Need model's column indices */
final int modelColumn = table.convertColumnIndexToModel(column);
switch (modelColumn)
{
/* Set the alignment to center */
case 0 :
case 1 :
setHorizontalAlignment(JLabel.CENTER);
break;
/* Set the alignment to left */
default :
setHorizontalAlignment(JLabel.LEFT);
}
return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
}
});
this.getContentPane().add(new JScrollPane(myTable));
this.setVisible(true);
}
public static void main(String[] args)
{
new TableDemo();
}
}