Re: how can i set center
To: comp.lang.java.gui
Michael Rauscher wrote:
ashwinijain schrieb:
Michael Rauscher wrote:
ashwinijain schrieb:
hi, i am using a jtable for making some calculation and i want to set
the center alignment of last column.
But i really dont know how to set it?
Please help me out...
I used following method but it works for all columns..
((JLabel)tab1.getDefaultRenderer(String.class)).setHorizontalAlignment
(JLabel.CENTER);
And i want to set alignment for last column only.
There are different methods to do what you want to be done :)
The most simple should be to override JTable#getCellRenderer, e. g.
JTable myTable = new JTable(myModel) {
public TableCellRenderer getCellRenderer( int row, int col ) {
TableCellRenderer renderer = super.getCellRenderer(row,col);
if ( col == dataModel.getColumnCount() - 1 )
renderer.setHorizontalAlignment( SwingConstants.CENTER );
return renderer;
}
};
Bye
Michael
Thanks but its giving me error that "setHorizontalAlignment(int) is
undefined for renderer.
Sorry, I forgot to cast. Change the above to:
TableCellRenderer renderer = super.getCellRenderer(row,col);
int alignment = (col == dataModel.getColumnCount() - 1) ?
SwingConstants.CENTER : SwingConstants.LEFT;
((JLabel)renderer).setHorizontalAlignment( alignment );
return renderer;
Should work (but not tested).
Bye
Michael
Thank you very much, its working.
But you know now what has happened. i am already applying one cell
renderer to my table so ur code giving error "class cast exception"
class MyCellRenderer extends JTextArea implements TableCellRenderer {
public MyCellRenderer() {
setLineWrap(true);
setWrapStyleWord(true);
setPreferredSize(new Dimension(465,340));
setAlignmentY(RIGHT_ALIGNMENT );
}
public Component getTableCellRendererComponent(JTable table, Object
value, boolean isSelected, boolean hasFocus, int row, int
column) {
setText((String)value);
setSize(table.getColumnModel().getColumn(column).getWidth(),
getPreferredSize().height);
if (table.getRowHeight(row) != getPreferredSize().height) {
table.setRowHeight(row, getPreferredSize().height);
}
return this;
}
}
can u solve this problem?
---
* Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24