Hints Appreciated: How to fix a DefaultTableCellRenderer and

C

clusardi2k

From: "clusardi2k" <clusardi2k@1:261/38.remove-dpk-this>

From: (e-mail address removed)

//How do I get the below project to use the tooltips and color the rows cyan
//and gray. If I comment output the below indicated three lines I get column
//coloring, but lose tooltips.

Thank you,

// Reference:
// http://www.roseindia.net/java/example/java/swing/CustomCellRenderer.shtml

package customcellrenderer;

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class CustomCellRenderer
{
JTable table;
TableColumn tcol;

public static void main(String[] args)
{
new CustomCellRenderer();
}

public static void StudentColTooltip(TableColumn OnLine_Col, String text)
{
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();

renderer.setToolTipText(text);
OnLine_Col.setCellRenderer(renderer);
}

public CustomCellRenderer()
{
JFrame frame = new JFrame("Creating a Custom Cell Reanderer!");

JPanel panel = new JPanel();

String data[][] = {{"Vinod","Computer","3"},
{"Rahul","History","2"},
{"Manoj","Biology","4"},
{"Sanjay","PSD","5"}};

String col [] = {"Name","Course","Year"};
DefaultTableModel model = new DefaultTableModel(data,col);

table = new JTable(model);

tcol = table.getColumnModel().getColumn(0);
tcol.setCellRenderer(new CustomTableCellRenderer());
tcol = table.getColumnModel().getColumn(1);
tcol.setCellRenderer(new CustomTableCellRenderer());
tcol = table.getColumnModel().getColumn(2);
tcol.setCellRenderer(new CustomTableCellRenderer());

JTableHeader header = table.getTableHeader();
header.setBackground(Color.yellow);

JScrollPane pane = new JScrollPane(table);
panel.add(pane);

frame.add(panel);
frame.setSize(500,150);
frame.setUndecorated(true);

frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}

public class CustomTableCellRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent (JTable table,
Object obj, boolean isSelected, boolean hasFocus, int row, int
column)
{
Component cell = super.getTableCellRendererComponent(
table, obj, isSelected, hasFocus, row, column);

if ( isSelected )
{
cell.setBackground(Color.green);
}
else
{
if ( row % 2 == 0 )
{
cell.setBackground(Color.cyan);
}
else
{
cell.setBackground(Color.lightGray);
}
}

//Commenting out the below 3 lines yields cyan and gray columns
StudentColTooltip(table.getColumnModel().getColumn(0),"Student's Last
Name");
StudentColTooltip(table.getColumnModel().getColumn(1),"Student's
Major");
StudentColTooltip(table.getColumnModel().getColumn(2),"Year In
School");

return cell;

}
}
}

-+- BBBS/Li6 v4.10 Dada-1
+ Origin: Prism bbs (1:261/38)
-+- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24

--- BBBS/Li6 v4.10 Dada-1
* Origin: Prism bbs (1:261/38)
--- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,708
Messages
2,569,346
Members
44,650
Latest member
LuckyVivo

Latest Threads

Top