Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #741
| From | "ashwinijain" <ashwinijain@THRWHITE.remove-dii-this> |
|---|---|
| Subject | Re: how can i set center |
| Message-ID | <1169302743.382827.7750@s34g2000cwa.googlegroups.com> (permalink) |
| Newsgroups | comp.lang.java.gui |
| References | <eor3q6$eh4$1@registered.motzarella.org> |
| Date | 2011-04-27 15:29 +0000 |
| Organization | TDS.net |
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
Back to comp.lang.java.gui | Previous | Next — Previous in thread | Next in thread | Find similar
Re: how can i set center "Michael Rauscher" <michael.rauscher@THRWHITE.remove-dii-this> - 2011-04-27 15:29 +0000
Re: how can i set center "ashwinijain" <ashwinijain@THRWHITE.remove-dii-this> - 2011-04-27 15:29 +0000
Re: how can i set center "Michael Rauscher" <michael.rauscher@THRWHITE.remove-dii-this> - 2011-04-27 15:29 +0000
csiph-web