posted 20 years ago
Hi,
I have two AbstractTableModel (mainModel and fixedColumnModel).
jtbList : the IntecMatrixTable placed on jspList (this is formed from an empty contructor)
jspList : the scrollpane
IntecMatrixTable :
public IntecMatrixTable(){
super();
setAutoCreateColumnsFromModel(true);
setColumnSelectionAllowed(true);
setRowSelectionAllowed(true);
setCellSelectionEnabled(true);
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
}
public IntecMatrixTable(TableModel dm){
super(dm);
setAutoCreateColumnsFromModel(true);
TableColumnModel cm = getColumnModel();
setColumnSelectionAllowed(true);
setRowSelectionAllowed(true);
setCellSelectionEnabled(true);
setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
}
the follow is called when the a button is pressed:
fixedTable = new IntecMatrixTable(fixedColumnModel);
fixedTable.setEnabled(false);
fixedTable.getColumnModel().getColumn(0).setPreferredWidth(170);
//Set cell renderer for Transaction column. Customised CellRenderer used.
fixedTable.getColumnModel().getColumn(0).setCellRenderer( cellRenderer );
fixedTable.getColumnModel().getColumn(0).setResizable(false);
fixedTable.getTableHeader().setReorderingAllowed(false);
jtbList.setModel(mainModel);
jtbList.setSelectionModel(listSelectModel);
jtbList.addMouseListenerToHeaderInTable();
jspList.getViewport().add(jtbList, null);
Dimension fixedSize = fixedTable.getPreferredSize();
fixedSize.width = 170;
JViewport viewPort = new JViewport();
viewPort.setView(fixedTable);
viewPort.setPreferredSize(fixedSize);
jspList.setCorner(JScrollPane.UPPER_LEFT_CORNER,
fixedTable.getTableHeader());
jspList.setRowHeaderView(viewPort);
jtbList.setCellSelectionEnabled(true);
jtbList.getTableHeader().setPreferredSize(
new Dimension(jtbList.getTableHeader().getWidth(), 19));
jtbList.repaint();
thanks
Phill