The following code sets different alignment rule
on different columns.
//All copyright reserved by www.kidslovepc.com
//No redistribution is allowed without author permission and a back
link to www.kidslovepc.com
// Example from http://www.kidslovepc.com
//www.kidslovepc.com is not responsible for your data loss or any damage.
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.table.*;
import javax.swing.*;
import java.awt.Color ;
import java.awt.Component;
class myCellRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable
table, Object value, boolean isSelected, boolean hasFocus,int
row, int column)
{
super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
JLabel label=null;
switch (column)
{
case 0:
setHorizontalAlignment( LEFT );
break;
case 1:
setHorizontalAlignment( RIGHT );
break;
case 2:
setHorizontalAlignment( CENTER );
break;
default:
break;
}
return this;
}
}
public class TableAlignment extends JPanel {
private boolean DEBUG = false;
public TableAlignment() {
super(new GridLayout(1,0));
String[] columnNames = {"First Name",
"Last Name",
"Book"};
Object[][] data = {
{"Hugo", "Jone",
"JAVA for dummy"},
{"Harry", "Potter",
"JAVA cook book Seconde Edtion"},
{"Tom", "Sawyer",
"www.kidslovpc.com is cool"},
{"Alice", "Wonder",
"JAVA JTABLE is all in www.kidslovepc.com"},
{"Bill", "Bush",
"JAVA world"}
};
final JTable table = new JTable(data, columnNames);
table.setPreferredScrollableViewportSize(new Dimension(500, 70));
int cols = table.getColumnCount();
myCellRenderer mcr=new myCellRenderer ();
TableColumn column;
int i;
for(i=0;i<cols;i++)
{
column=table.getColumnModel().getColumn(i);
column.setCellRenderer(mcr);
}
//Create the scroll pane and add the table
to it.
JScrollPane scrollPane = new JScrollPane(table);
//Add the scroll pane to this panel.
add(scrollPane);
}
public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
JFrame.setDefaultLookAndFeelDecorated(true);
//Create and set up the window.
JFrame frame = new JFrame("SimpleTableDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Create and set up the content pane.
TableAlignment newContentPane = new TableAlignment();
newContentPane.setOpaque(true); //content panes must be opaque
frame.setContentPane(newContentPane);
//Display the window.
frame.pack();
frame.setVisible(true);
}
}