Unexpected TableCellRende
To: comp.lang.java.gui
hi all,
I wrote a customized renderer for a JTable but it is behaving
differently from what I expected: even if I just acted on the
BACKground color, when this render is selected the table does not show
the content of the cells. Double-clicking on a cell shows the data
correctly sorted in it but, as soon as the cell is de-selected, data
re-become invisible.
Here is the code: can anybody please tell me what am I doing wrong?
lor
****************************************************************************************************
import java.awt.*;
import java.awt.event.*;
import java.awt.Transparency;
import java.lang.Object.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
public class UDP_JTable extends JTable
{
public UDP_JTable(int rows, int cols)
{
super(rows, cols);
for (int i=0; i<cols; i++)
{
getColumnModel().getColumn(i).setCellRenderer(new
UDRenderer());
}
}
class UDRenderer extends DefaultTableCellRenderer implements
TableCellRenderer
{
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row, int
column)
{
setForeground(Color.BLACK);
if(row != column)
{
if (row>column)
{
setBackground(Color.CYAN);
}
else
{
setBackground(Color.WHITE);
}
}
else
{
setBackground(Color.YELLOW);
}
return this;
}
}
public static void main(String[] args)
{
}
}
---
* 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