Antwort
 
Themen-Optionen Thema durchsuchen
Alt 05.07.2005, 11:08 Nach oben    #1
smokie
Gast
 
Beiträge: n/a
Standard JTree Farbe

Hilfe!
Wenn ich den Background in meinem JTree farbig setze dann bleiben die eigentlichen Zellen trotzdem noch weiss unterlegt.
Hat jemand Plan wie ich den kompletten JTree farbig setzen kann?
Hier mein Code:
PHP-Code:
 import java.awt.Color
import java.awt.Component
import java.awt.Font
 
import javax.swing.ImageIcon
import javax.swing.Icon
import javax.swing.JTree
import javax.swing.tree.*;
/** 
* The type TreeIconRenderer is responsible for changing the tree icons. 

* @author thorsten */ 
 
public class TreeIconRenderer extends DefaultTreeCellRenderer 
 
// declaring the Icons 
Icon leafIcon
ImageIcon openIcon
ImageIcon closedIcon
 
 
 
public 
TreeIconRenderer() { 
 
super(); 
 
// getting image box 
leafIcon = new ImageIcon(getClass().getResource("/images/system/box.gif")); 
 
// getting image arrow down 
openIcon = new ImageIcon(getClass().getResource("/images/system/arrow_down.gif")); 
 
// getting image arrow right 
closedIcon = new ImageIcon(getClass().getResource("/images/system/arrow.gif")); 
 

 
/** 
* Creating the component in the GridBagLayout. 

* @param tree tree 
* @param value cell value 
* @param selected closed tree icon 
* @param expanded opened tree icon 
* @param leaf end point icon 
* @param row number of row 
* @param hasFocus the focus 
*/ 
public Component getTreeCellRendererComponent
     
JTree tree
     
Object value
     
boolean selected
     
boolean expanded
     
boolean leaf
     
int row
     
boolean hasFocus) { 
 
super.getTreeCellRendererComponent
     
treevalueselected
     
expandedleafrow
     
hasFocus); 
 
 
 
 
// setting icons 
setLeafIcon(leafIcon); 
setOpenIcon(openIcon); 
setClosedIcon(closedIcon); 
putClientProperty("JTree.lineStyle""None"); 
TreePath selectionPath tree.getSelectionPath();
TreePath nodePath = new TreePath(((DefaultTreeModel)tree.getModel()).getPathToRoot((TreeNode)value));
if(
selectionPath != null && (selectionPath.equals(nodePath) || nodePath.isDescendant(selectionPath))) {
setFont(getFont().deriveFont(Font.BOLD));
 
}
else 
setFont(getFont().deriveFont(Font.PLAIN));
tree.setBackground(new Color(212217231)); 
 
    return 
this

 

 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.07.2005, 12:34 Nach oben    #2
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.129
Standard

Zusätzlich noch "setBackground" vom JTree aufrufen müsste dein Problem lösen.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.07.2005, 13:07 Nach oben    #3
smokie
Gast
 
Beiträge: n/a
Standard

Leider tut es das nicht.
Habe ich bereits ausprobiert.
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.07.2005, 15:26 Nach oben    #4
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.129
Standard

Kannst du einen Screenshot davon machen?
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.07.2005, 17:37 Nach oben    #5
smokie
Gast
 
Beiträge: n/a
Standard

jau.hier.
sorry wg. der bildgrösse.
musste das bild kleiner machen wegen hochladen hier.
Angehängte Grafiken
Dateityp: png startwin3.png (18,0 KB, 11x aufgerufen)
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.07.2005, 21:58 Nach oben    #6
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.129
Standard

Ah! Nun ist klar...

Also, du solltest im TreeCellRenderer nicht dem JTree eine andere Hintergrundfarbe verpassen, sondern dem Renderer selbst.
Dem JTree verpasst du die Farbe dort, wo du ihn erzeugst.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 06.07.2005, 15:14 Nach oben    #7
smokie
Gast
 
Beiträge: n/a
Standard

Danke!
So hab ichs jetzt gelöst.
Code:
this.setBackgroundNonSelectionColor(new Color(212, 217, 231));
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JScrollPane und JTree javra Desktop-Applikationen und Grafik 10 19.02.2006 10:39
JTree wird nicht aktualisiert Waldi5001 Desktop-Applikationen und Grafik 7 08.12.2005 15:31
JTree - Pfad hervorheben smokie Desktop-Applikationen und Grafik 12 03.06.2005 08:43
Jtree elli Desktop-Applikationen und Grafik 3 11.03.2005 12:51
kl. Zeichenprogramm - Farbe wird nicht gesetzt :*( pro_evo Desktop-Applikationen und Grafik 6 04.02.2005 16:28


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:38 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45