package again;
import java.awt.Color;
import java.util.Vector;
import javax.swing.Box;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableCellRenderer;
public class Tableexp extends JFrame {
private JPanel rightpane;
private JTable table1,table2;
public Tableexp()
{
super("table1");
setSize(500,400);
setLocation(100,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Box rightbox=Box.createVerticalBox();
Box leftbox=Box.createVerticalBox();
Box bigbox=Box.createHorizontalBox();
//left
String []clomnnames={"A","B","C"};
String [][]rowdata={{"A1","B1","C1"},{"A2","B2","C2"},{"A3","B3","C3"},{"A1","B1","C1"},{"A2","B2","C2"},{"A3","B3","C3"}};
table1=new JTable(rowdata,clomnnames);
JScrollPane scroll=new JScrollPane();
scroll.setViewportView(table1);//****
leftbox.add(scroll);
bigbox.add(leftbox);
//right
Vector<String> clomnnames1=new Vector<String>();
Vector rowvalues1=new Vector();
clomnnames1.add("A");
clomnnames1.add("B");
for(int row=1;row<5;row++)
{
Vector<String> values1=new Vector<String>();
values1.add("A"+row);
values1.add("B"+row);
rowvalues1.add(values1);
}
table2=new MyTable(rowvalues1,clomnnames1);
JTableHeader header=table2.getTableHeader();
table2.setSelectionBackground(Color.orange);
rightpane=new JPanel();
rightpane.add(header,"NORTH");
rightpane.add(table2);
bigbox.add(rightpane);
add(bigbox);
}
private class MyTable extends JTable{
public MyTable(Vector row,Vector clomn)
{
super(row,clomn);
}
@Override
public JTableHeader getTableHeader() {
JTableHeader header=super.getTableHeader();
header.setReorderingAllowed(false);
DefaultTableCellRenderer hr=(DefaultTableCellRenderer)tableHeader.getDefaultRenderer();
hr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
return header;
}
@Override
public TableCellRenderer getDefaultRenderer(Class<?> columnClass) {
DefaultTableCellRenderer cr=(DefaultTableCellRenderer)super.getDefaultRenderer(columnClass);
cr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
return cr;
}
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
}
public static void main(String[] args) {
Tableexp tt=new Tableexp();
tt.setVisible(true);
}
}