G
Guest
Gast
Kann mir jemand ein compilierbares Beispiel für eine Jtable mit einem Cellrenderer posten, mit dem man eine einzelne Zelle färben kann?
Danke
Danke
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.DefaultTableCellRenderer;
public class Demo extends JFrame {
public Demo() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
String[] columnNames = new String[]{"Spalte A","Spalte B"};
String[][] data = new String[][]{{"Donald", "Duck"},{"Onkel","Dagobert"}};
JTable table = new JTable(data, columnNames);
table.setDefaultRenderer(Object.class, new MyCellRenderer());
this.getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);
this.pack();
this.setSize(800, 600);
}
class MyCellRenderer extends DefaultTableCellRenderer{
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row, int column){
this.setText((String)value);
if(row == 0 && column == 0){
this.setBackground(Color.GREEN);
}
else{
this.setBackground(Color.WHITE);
}
return this;
}
}
public static void main(String[] argv){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new Demo().setVisible(true);
}
});
}
}