carookee - group communication for you
Home / JavaForum / Swing + AWT
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
5.058 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 679 von 1460 (47%) |<   <   >   >|

Autor Uwe Marx
Datum 08.04.02, 08:39
Betreff Re: Umgebungsfarbe einer angeklickten Zelle einer JTable


Hallo Andreas,

hier ein Beispiel, wie man es machen könnte:

/* ColoredTableCellRenderer.java */

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

public class ColoredTableCellRenderer
implements TableCellRenderer
{
    private Color lightBlue = new Color(160, 160, 255);
    private Color darkBlue = new Color( 64, 64, 128);
    Border a = BorderFactory.createLineBorder(Color.green, 3);
    Border b = BorderFactory.createEmptyBorder(1, 1, 1, 1);
    JLabel label = new JLabel();
    
    public Component getTableCellRendererComponent(
    JTable table,
    Object value,
    boolean isSelected,
    boolean hasFocus,
    int row,
    int column
    )
    {
        //Label erzeugen
        label.setText((String)value);
        label.setOpaque(true);
        label.setBorder(b);
        label.setFont(table.getFont());
        label.setForeground(table.getForeground());
        label.setBackground(table.getBackground());
        if (hasFocus) {
            label.setBackground(darkBlue);
            label.setForeground(Color.white);
            label.setBorder(a);
            } else if (isSelected) {
            label.setBackground(lightBlue);
            } else {
            //Angezeigte Spalte in Modellspalte umwandeln
            column = table.convertColumnIndexToModel(column);
            if (column == 1) {
                if (row < 11) {
                    label.setBackground(Color.red);
                    } else if (row < 21) {
                    label.setBackground(Color.orange);
                    } else {
                    label.setBackground(Color.yellow);
                }
            }
        }
        return label;
    }
}

// Renderer wird der Tabelle zugewiesen
suchTab.setDefaultRenderer(Object.class,
new ColoredTableCellRenderer());


Ich habe auch noch nicht allzu viel Erfahrung damit. Könnte gut sein, das es noch bessere Möglichkeiten gibt.

Gruß Uwe


Diskussionsverlauf:
Umgebungsfarbe einer angeklickten Zelle einer JTable
    Re: Umgebungsfarbe einer angeklickten Zelle einer JTable
        Re: Umgebungsfarbe einer angeklickten Zelle einer JTable

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com