Hi,
ich möchte durch buttonklick die hintergrundfarbe einer zeile, bzw. zelle einer tabelle ändern.
allerdings funktioniert es nicht richtig.
die tabelle liegt in einem panel, das auf einem fenster per GridBagLayout liegt. die tabelle ist ein 2d-array.
Der Listener soll sich die Zeile/zelle merken
Der CellRenderer soll für den gemerkten wert die hintergrundfarbe ändern
Hab echt keine Ahnung mehr und durch zu vile probieren wahrscheinlich schon den halben code zerstört! :shock:
THX THX THX!
T1M
ich möchte durch buttonklick die hintergrundfarbe einer zeile, bzw. zelle einer tabelle ändern.
allerdings funktioniert es nicht richtig.
die tabelle liegt in einem panel, das auf einem fenster per GridBagLayout liegt. die tabelle ist ein 2d-array.
Der Listener soll sich die Zeile/zelle merken
Code:
//makiertes Zeile wird rot
z_rot.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
row = table.getSelectedRow();
column = table.getSelectedColumn();
value = table.getValueAt(row, column);
}
}
Der CellRenderer soll für den gemerkten wert die hintergrundfarbe ändern
Code:
class ColorTableCellRenderer extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)
{
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
Color color = (Color)value;
table.setBackground(Color.RED);
table.setSelectionBackground(Color.RED);
setText(color.getRed() + ", " + color.getBlue() + ", " + color.getGreen());
setForeground(color);
table.setValueAt(Color.RED, row, column);
return this;
}
Hab echt keine Ahnung mehr und durch zu vile probieren wahrscheinlich schon den halben code zerstört! :shock:
THX THX THX!
T1M