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
4.402 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 53 von 1460 (4%) |<   <   >   >|

Autor alike
Datum 15.06.05, 00:49
Betreff Re: TableCellRenderer macht nichts?!


Auf zur Beantwortung deiner Fragen^^

// - Weist Du einer bestimmten Klasse einen eigenen Renderer zu?

table = new JTable();
table.setDefaultRenderer(Messung.class,new MessungsRenderer());


Bisher sieht das so aus bei mir. Habe aber in einem anderen Forum was gelesen, das der erste Parameter bestimmt, das der Renderer nur für Spalten der übergebenen Klasse sind?!


//- Hast Du dafür die Methode getColumnClass() implementiert?

im TableModel:

public Class getColumnClass(int col) {
    switch (col) {
        case 0: return String.class;
        case 1: return String.class;
        case 2: return Integer.class;
        case 3: return Integer.class;
        case 4: return Integer.class;
        case 5: return Double.class;
    }
    return Object.class;
}



Wenn ich deine Frage richtig verstanden habe, dann müßte die Antwort ja sein ^^ 5. Spalte ist also ein Double.

Wegen deiner ersten Frage hab ich den Code dann so verändert:

table = new JTable();
table.setDefaultRenderer(Double.class,new MessungsRenderer());



Somit müßte der Renderer nur noch für die 5. Spalte zuständig sein. Da tut sich diesmal auch was.... Alle Zellen sind blau, ohne Inhalt... Bisher noch nicht rausgefunden woran das liegt.

// - In welcher Klasse steckt bei Dir die getTableCellRendererComponent()?

in der MessungsRenderer die mit setDefaultRenderer() übergeben wird.(s.o.)

//Im übrigen solltest Du den else-Zweig nicht vergessen, //sonst werden alle Zellen (dieser Spalte), nachdem zum //ersten Mal die Bedingung zutrifft, grün eingefärbt. ;)

Meinst du ein else zwei zum column == 5 ?
Weil zum anderen gibts ja einen: setForground(Color.RED)


Hoffe deine Fragen sind ausreichend beantwortet, und helfen dir mir Antworten helfen zu können:D

MFG Max


Diskussionsverlauf:
TableCellRenderer macht nichts?!
    Re: TableCellRenderer macht nichts?!
        Re: TableCellRenderer macht nichts?!

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

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