JTree TreeCellRenderer Panelgröße funzt net

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

habe ne Jtree und möchte die Nodes mittels TreeCellRenderer speziell darstellen.
Möchte als node ein JPanel und darauf dann ein Icon und ein Label usw.

Problem:
Egal, was ich bei setBounds für das Panel eingebe -> es wird einfach nur ein MiniPanel (quasi ein Strich dargestellt).
Anmerkung: ich möchte nicht mit LayoutManager arbeiten.

hier vereinfacht der Code für den renderer


Code:
	class doktree_renderer implements TreeCellRenderer
	{
		
		private JPanel jPN = null;
		private JPanel jPN_Icon = null;
		private JLabel jLBL = null;
		
		
		public doktree_renderer()
		{
			jPN = new JPanel();
			jPN.setLayout(null);
			jPN.setBounds(400, 400, 1000, 1000);	
			jLBL = new JLabel("Test");
			jLBL.setBounds(5, 5, 50, 15);
			
		}
		
		public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, 
				boolean expanded, boolean leaf, int row, boolean hasFocus)
		{
			if (value instanceof  jTRN_Dok_Type)
			{
				
				jTRN_Dok_Type value_ = (jTRN_Dok_Type) value;
				jLBL = new JLabel(value_.beschreibung);
				return jLBL;
			}
			else
			{
				jPN = new JPanel();
				jPN.setLayout(null);
				jPN.setBounds(0, 0, 500, 500);
				jPN.setBackground(Color.green);
				return jPN;
			}
		}
		
		
	}


danke Christoph
 
Anonymous hat gesagt.:
Anmerkung: ich möchte nicht mit LayoutManager arbeiten.
Da haste was falsch verstanden. Nimm die PreferredSize, dann wird es funktionieren. Warum? An dieser Stelle ist nicht interessant, ob das Panel einen LayoutManager benutzt, weil der LayoutManager ja für die Kinder des Panels zuständig wäre. Die Größe des Panels selbst wird vom Baum über die PreferredSize der Renderer-Komponente ermittelt.

Happy Hacking!
Ebenius
 
hey...muchas gracias...haut einwandrei hin...

P.S. ich will gar nicht wissen, was ich sonst noch alles falsch verstehe...;-))

christoph
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben