Reputation:
How to change the color of the individual cells based on the value that they contain?
Here's what I have based on what I've found.
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import javax.swing.border.EmptyBorder;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JButton;
import javax.swing.JTable;
import javax.swing.JLabel;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
public class DriversSeason1 extends JLabel implements TableCellRenderer{
private JFrame frameSeason1Drivers;
static JTable tableSeason1Drivers = new JTable();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
DriversSeason1 window = new DriversSeason1();
window.frameSeason1Drivers.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
MyRenderer myRenderer = new MyRenderer();
tableSeason1Drivers.setDefaultRenderer(Object.class, myRenderer);
}
/**
* Create the application.
*/
public DriversSeason1() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frameSeason1Drivers = new JFrame();
frameSeason1Drivers.setBounds(100, 100, 780, 480);
frameSeason1Drivers.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panelSeason1DriversFull = new JPanel();
panelSeason1DriversFull.setBorder(new EmptyBorder(5, 5, 5, 5));
frameSeason1Drivers.getContentPane().add(panelSeason1DriversFull, BorderLayout.CENTER);
panelSeason1DriversFull.setLayout(new BorderLayout(0, 0));
JPanel panelSeason1Drivers = new JPanel();
panelSeason1DriversFull.add(panelSeason1Drivers, BorderLayout.CENTER);
panelSeason1Drivers.setLayout(new BorderLayout(0, 0));
tableSeason1Drivers = new JTable();
tableSeason1Drivers.setBackground(Color.WHITE);
tableSeason1Drivers.setModel(new DefaultTableModel(
new Object[][] {
{"Pos", null, null, null, null, null, null, null, null, null, null, "", null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{" 1", null, null, null, null, null, null, null, null, null, null, "", null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{" 2", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{" 3", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{" 4", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{" 5", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{" 6", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{" 7", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{" 8", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "", null, null, null, null},
{" 9", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"10", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"11", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"12", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"13", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"14", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"15", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"16", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"17", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"18", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"19", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"20", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"21", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"22", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null},
{"Pos", null, null, null, null, null, null, null, null, null, null, "", null, null, null, null, null, null, null, null, null, null, null, null, null, null},
},
new String[] {
"New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column", "New column"
}
));
tableSeason1Drivers.getColumnModel().getColumn(0).setPreferredWidth(21);
tableSeason1Drivers.getColumnModel().getColumn(1).setPreferredWidth(91);
tableSeason1Drivers.getColumnModel().getColumn(2).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(3).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(4).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(5).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(6).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(7).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(8).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(9).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(10).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(11).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(12).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(13).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(14).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(15).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(16).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(17).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(18).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(19).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(20).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(21).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(22).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(23).setPreferredWidth(35);
tableSeason1Drivers.getColumnModel().getColumn(24).setPreferredWidth(42);
tableSeason1Drivers.getColumnModel().getColumn(25).setPreferredWidth(34);
panelSeason1Drivers.add(tableSeason1Drivers, BorderLayout.CENTER);
JMenuBar menuBar = new JMenuBar();
panelSeason1DriversFull.add(menuBar, BorderLayout.NORTH);
JMenu menuDrivers = new JMenu("Drivers Standings");
menuBar.add(menuDrivers);
JMenuItem menuItemSeason1 = new JMenuItem("Season 1");
menuDrivers.add(menuItemSeason1);
JMenuItem menuItemSeason2 = new JMenuItem("Season 2");
menuDrivers.add(menuItemSeason2);
JMenuItem menuItemSeason3 = new JMenuItem("Season 3");
menuDrivers.add(menuItemSeason3);
JMenuItem menuItemSeason4 = new JMenuItem("Season 4");
menuDrivers.add(menuItemSeason4);
JMenuItem menuItemSeason5 = new JMenuItem("Season 5");
menuDrivers.add(menuItemSeason5);
JMenuItem menuItemSeason6 = new JMenuItem("Season 6");
menuDrivers.add(menuItemSeason6);
JMenuItem menuItemSeason7 = new JMenuItem("Season 7");
menuDrivers.add(menuItemSeason7);
JMenuItem menuItemSeason8 = new JMenuItem("Season 8");
menuDrivers.add(menuItemSeason8);
JMenuItem menuItemSeason9 = new JMenuItem("Season 9");
menuDrivers.add(menuItemSeason9);
JMenuItem menuItemSeason10 = new JMenuItem("Season 10");
menuDrivers.add(menuItemSeason10);
JMenu menuConstructors = new JMenu("Constructors Standings");
menuBar.add(menuConstructors);
JMenuItem menuItemSeason1Con = new JMenuItem("Season1");
menuConstructors.add(menuItemSeason1Con);
JMenuItem menuItemSeason2Con = new JMenuItem("Season 2");
menuConstructors.add(menuItemSeason2Con);
JMenuItem menuItemSeason3Con = new JMenuItem("Season 3");
menuConstructors.add(menuItemSeason3Con);
JMenuItem menuItemSeason4Con = new JMenuItem("Season 4");
menuConstructors.add(menuItemSeason4Con);
JMenuItem menuItemSeason5Con = new JMenuItem("Season 5");
menuConstructors.add(menuItemSeason5Con);
JMenuItem menuItemSeason6Con = new JMenuItem("Season 6");
menuConstructors.add(menuItemSeason6Con);
JMenuItem menuItemSeason7Con = new JMenuItem("Season 7");
menuConstructors.add(menuItemSeason7Con);
JMenuItem menuItemSeason8Con = new JMenuItem("Season 8");
menuConstructors.add(menuItemSeason8Con);
JMenuItem menuItemSeason9Con = new JMenuItem("Season 9");
menuConstructors.add(menuItemSeason9Con);
JMenuItem menuItemSeason10Con = new JMenuItem("Season 10");
menuConstructors.add(menuItemSeason10Con);
JButton btnRacingRecord = new JButton("Racing Record");
menuBar.add(btnRacingRecord);
JButton btnStats = new JButton("Stats");
menuBar.add(btnStats);
JButton btnRaceInput = new JButton("Race Input");
menuBar.add(btnRaceInput);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
// TODO Auto-generated method stub
return null;
}
}
Then heres the renderer class that should change the background color
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class MyRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
{
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (((int)table.getValueAt(row, column)) == 1)
{
System.out.println("hi");
}
else
{
c.setBackground(table.getBackground());
}
return c;
}
}
Upvotes: 1
Views: 158
Reputation: 64
your code has lots of bad smell, if you don't know how to make it better, I recommend you to read some books like Refactoring: Improving the design of existing code and Effective Java.
Anyway, I made it work, please check whether it's what you want.
package self.examples;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.EventQueue;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
public class DriversSeason1 extends JLabel implements TableCellRenderer {
private JFrame frameSeason1Drivers;
static JTable tableSeason1Drivers = new JTable();
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
DriversSeason1 window = new DriversSeason1();
window.frameSeason1Drivers.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public DriversSeason1() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frameSeason1Drivers = new JFrame();
frameSeason1Drivers.setBounds(100, 100, 780, 480);
frameSeason1Drivers.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panelSeason1DriversFull = new JPanel();
panelSeason1DriversFull.setBorder(new EmptyBorder(5, 5, 5, 5));
frameSeason1Drivers.getContentPane().add(panelSeason1DriversFull, BorderLayout.CENTER);
panelSeason1DriversFull.setLayout(new BorderLayout(0, 0));
JPanel panelSeason1Drivers = new JPanel();
panelSeason1DriversFull.add(panelSeason1Drivers, BorderLayout.CENTER);
panelSeason1Drivers.setLayout(new BorderLayout(0, 0));
tableSeason1Drivers = new JTable();
tableSeason1Drivers.setBackground(Color.WHITE);
MyRenderer myRenderer = new MyRenderer();
tableSeason1Drivers.setDefaultRenderer(Object.class, myRenderer);
tableSeason1Drivers.setModel(new DefaultTableModel(
new Object[][] {
{ "Pos", null, 1, null, null, null, null, null, null, null, null, "", null, null, null, null,
null, null, null, null, null, null, null, null, null, null },
{ " 1", null, null, null, null, null, null, null, null, null, null, "", null, null, null, null,
null, null, null, null, null, null, null, null, null, null },
{ " 2", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ " 3", null, null, null, null, null, 1, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null },
{ " 4", null, null, 1, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null },
{ " 5", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ " 6", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ " 7", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ " 8", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, "", null, null, null, null },
{ " 9", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "10", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "11", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "12", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "13", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "14", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "15", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "16", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "17", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "18", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "19", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "20", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "21", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "22", null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null },
{ "Pos", null, null, null, null, null, null, null, null, null, null, "", null, null, null, null,
null, null, null, null, null, null, null, null, null, null }, },
new String[] { "New column", "New column", "New column", "New column", "New column", "New column",
"New column", "New column", "New column", "New column", "New column", "New column",
"New column", "New column", "New column", "New column", "New column", "New column",
"New column", "New column", "New column", "New column", "New column", "New column",
"New column", "New column" }));
tableSeason1Drivers.getColumnModel().getColumn(0).setPreferredWidth(21);
tableSeason1Drivers.getColumnModel().getColumn(1).setPreferredWidth(91);
tableSeason1Drivers.getColumnModel().getColumn(2).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(3).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(4).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(5).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(6).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(7).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(8).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(9).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(10).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(11).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(12).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(13).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(14).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(15).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(16).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(17).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(18).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(19).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(20).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(21).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(22).setPreferredWidth(23);
tableSeason1Drivers.getColumnModel().getColumn(23).setPreferredWidth(35);
tableSeason1Drivers.getColumnModel().getColumn(24).setPreferredWidth(42);
tableSeason1Drivers.getColumnModel().getColumn(25).setPreferredWidth(34);
panelSeason1Drivers.add(tableSeason1Drivers, BorderLayout.CENTER);
JMenuBar menuBar = new JMenuBar();
panelSeason1DriversFull.add(menuBar, BorderLayout.NORTH);
JMenu menuDrivers = new JMenu("Drivers Standings");
menuBar.add(menuDrivers);
JMenuItem menuItemSeason1 = new JMenuItem("Season 1");
menuDrivers.add(menuItemSeason1);
JMenuItem menuItemSeason2 = new JMenuItem("Season 2");
menuDrivers.add(menuItemSeason2);
JMenuItem menuItemSeason3 = new JMenuItem("Season 3");
menuDrivers.add(menuItemSeason3);
JMenuItem menuItemSeason4 = new JMenuItem("Season 4");
menuDrivers.add(menuItemSeason4);
JMenuItem menuItemSeason5 = new JMenuItem("Season 5");
menuDrivers.add(menuItemSeason5);
JMenuItem menuItemSeason6 = new JMenuItem("Season 6");
menuDrivers.add(menuItemSeason6);
JMenuItem menuItemSeason7 = new JMenuItem("Season 7");
menuDrivers.add(menuItemSeason7);
JMenuItem menuItemSeason8 = new JMenuItem("Season 8");
menuDrivers.add(menuItemSeason8);
JMenuItem menuItemSeason9 = new JMenuItem("Season 9");
menuDrivers.add(menuItemSeason9);
JMenuItem menuItemSeason10 = new JMenuItem("Season 10");
menuDrivers.add(menuItemSeason10);
JMenu menuConstructors = new JMenu("Constructors Standings");
menuBar.add(menuConstructors);
JMenuItem menuItemSeason1Con = new JMenuItem("Season1");
menuConstructors.add(menuItemSeason1Con);
JMenuItem menuItemSeason2Con = new JMenuItem("Season 2");
menuConstructors.add(menuItemSeason2Con);
JMenuItem menuItemSeason3Con = new JMenuItem("Season 3");
menuConstructors.add(menuItemSeason3Con);
JMenuItem menuItemSeason4Con = new JMenuItem("Season 4");
menuConstructors.add(menuItemSeason4Con);
JMenuItem menuItemSeason5Con = new JMenuItem("Season 5");
menuConstructors.add(menuItemSeason5Con);
JMenuItem menuItemSeason6Con = new JMenuItem("Season 6");
menuConstructors.add(menuItemSeason6Con);
JMenuItem menuItemSeason7Con = new JMenuItem("Season 7");
menuConstructors.add(menuItemSeason7Con);
JMenuItem menuItemSeason8Con = new JMenuItem("Season 8");
menuConstructors.add(menuItemSeason8Con);
JMenuItem menuItemSeason9Con = new JMenuItem("Season 9");
menuConstructors.add(menuItemSeason9Con);
JMenuItem menuItemSeason10Con = new JMenuItem("Season 10");
menuConstructors.add(menuItemSeason10Con);
JButton btnRacingRecord = new JButton("Racing Record");
menuBar.add(btnRacingRecord);
JButton btnStats = new JButton("Stats");
menuBar.add(btnStats);
JButton btnRaceInput = new JButton("Race Input");
menuBar.add(btnRaceInput);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
// TODO Auto-generated method stub
return null;
}
class MyRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
System.out.println(table.getValueAt(row, column));
if ("1".equals(String.valueOf(table.getValueAt(row, column)))) {
System.out.println("hi");
c.setBackground(Color.YELLOW);
} else {
c.setBackground(Color.RED);
}
return c;
}
}
}
Upvotes: -1
Reputation: 324207
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
DriversSeason1 window = new DriversSeason1();
window.frameSeason1Drivers.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
MyRenderer myRenderer = new MyRenderer();
tableSeason1Drivers.setDefaultRenderer(Object.class, myRenderer);
}
The main method runs on a separate Thread so you are attempting to add the renderer to the table BEFORE the DriversSeason1 class is created.
Then when the code on the Event Dispatch Thread executes your DriverSeason1 class is created and you create a new JTable so all the custom renderers are lost.
The solution is simple. Add the renderer to the table when you create the table.
Also, you DriversSeason1 class should NOT extend JLabel and implement TableCellRenderer. Get rid of all that code.
Finally, when you fix these problems you will still have an error in the renderer which should be obvious. You load the data as String objects so you can't expect to create the object and an Integer. You need to do a String comparison in your code, not an integer comparison.
Upvotes: 3