JTree - Panelproblem

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo Zusammen,

ich habe mir jetzt schon verschiedene Sachen rausgesucht, um einen schönen Optionsdialog mit JTree hinzubekommen.

Nun klappt das im Groben ganz gut, allerdings habe ich noch einige Probleme:

1. Wie kann ich den kompletten Knotenpfad ermitteln, also beispielsweise Wurzel, Buchstabe. Bei der Methode Objekt.toString bekomme ich nur noch den letzten Knoten raus.
2. Die Panels reagieren nicht richtig. Im jetzigen Code soll eigentlich das Panel geleert werden und dann neuen JLabel etc. gesetzt werden. So wie es jetzt ist, passiert garnichts. Wenn ich showPanel.removeAll(); deaktiviere, dann bekommt man wenigstens eine Veränderung.

Wäre Klasse, wenn ihr mir weiterhelfen könntet.

Danke und Gruß


Code:
import javax.swing.BorderFactory;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;

public class Options extends JDialog {
	
	private JPanel showPanel;
	private JLabel testLabel;
	
	private static final long serialVersionUID = 1L;

	private Options() {
		
		// Wurzelknoten herstellen
		TreeNode root = createTree();
		
		// Wurzelknoten wird dem neuen JTree im Konstruktor übergeben
		JTree tree = new JTree( root );
		
		// Eventhandler
		tree.getSelectionModel().addTreeSelectionListener( new Aktion() );
		
		// Dialog erstellen
		JDialog meinDialog = new JDialog();
		meinDialog.setLayout( null );
		
		// Treepanel
		JPanel treePanel = new JPanel();
		treePanel.setLayout( null );
		treePanel.setBounds( 10, 10, 220, 320 );
		//treePanel.setBorder( BorderFactory.createEtchedBorder() );
		
		JScrollPane treeScrollPane = new JScrollPane( tree );
		treeScrollPane.setBounds( 10, 10, 200, 300 );
		
		// JScrollPane dem Panel hinzufügen
		treePanel.add( treeScrollPane );
		
		// AnzeigePanel
		showPanel = new JPanel();
		showPanel.setLayout( null );
		showPanel.setBounds( 250, 20, 300, 300 );
		showPanel.setBorder( BorderFactory.createEtchedBorder() );
		
		testLabel = new JLabel("AufrufPanel");
		testLabel.setBounds( 10, 10, 100, 100);
		showPanel.add( testLabel );
		
		// Panel dem Dialog hinzufügen
		meinDialog.add( treePanel );
		meinDialog.add( showPanel );
		
		meinDialog.setDefaultCloseOperation( JDialog.DISPOSE_ON_CLOSE );
		meinDialog.pack();
		meinDialog.setSize( 600, 400 );
		meinDialog.setVisible( true );
		          
    }
	
	private static TreeNode createTree() {
		
		// Knoten erstellen
		DefaultMutableTreeNode root = new DefaultMutableTreeNode("Wurzel");
		
		DefaultMutableTreeNode letters = new DefaultMutableTreeNode("Buchstaben");
		DefaultMutableTreeNode digits = new DefaultMutableTreeNode("Zahlen");
		
		DefaultMutableTreeNode letterA = new DefaultMutableTreeNode("A");
		DefaultMutableTreeNode letterB = new DefaultMutableTreeNode("B");
		DefaultMutableTreeNode letterC = new DefaultMutableTreeNode("C");
		
		DefaultMutableTreeNode digit1 = new DefaultMutableTreeNode("1");
		DefaultMutableTreeNode digit2 = new DefaultMutableTreeNode("2");
		DefaultMutableTreeNode digit3 = new DefaultMutableTreeNode("3");
		
		// Verknüpfen
		letters.add( letterA );
		letters.add( letterB );
		letters.add( letterC );
		
		digits.add( digit1 );
		digits.add( digit2 );
		digits.add( digit3 );
		
		root.add( letters );
		root.add( digits );
		
		return root;
		
	}
	
	public static void main (String args[]) {
		
		Options test = new Options();
		
	}
	
	/** Klasse für Events */
	
	class Aktion implements TreeSelectionListener {
		
		public void valueChanged( TreeSelectionEvent e ) {
			
			Object templetzterKnoten = e.getNewLeadSelectionPath().getLastPathComponent();
			String letzterKnoten = templetzterKnoten.toString();
			
			System.out.println(letzterKnoten);
			
			if (letzterKnoten.equals("Buchstaben")) {
				
				testLabel.setText("Buchstabe");
				
				//showPanel.setBorder( BorderFactory.createEtchedBorder() );
				showPanel.removeAll();
				
				//JLabel testLabel2 = new JLabel("Zwei");
				//testLabel2.setBounds( 20, 30, 100, 100);
				//showPanel.add( testLabel2 );
				
			} else {
				
				testLabel.setText("Zahlen");
				
			}
		}

		
		
	}
	
	/** Testmethode mit Textfeld */
	
	private void getBuchstaben() {
		
		JLabel testLabel = new JLabel("Drei");
		testLabel.setBounds( 10, 10, 100, 100);
		showPanel.add( testLabel );
		
	}
}
 

Marco13

Top Contributor
Der Pfad bis zur Wurzel steckt schon in deinem Programm. Mach mal in der valueChanged-Methode
System.out.println(e.getNewLeadSelectionPath());

Editiert:
Und das mit den JLabels ... hm. Du olltest du überlegen, ob du wirklich ein null-Layout brauchst....
 
G

Gast

Gast
Hallo Marco13,

danke erstmal für die schnelle Anwort. Das ist in System.out.println(e.getNewLeadSelectionPath()); breits der komplette Pfad drin ist, weiß ich, aber wenn man das Objekt in einer String "verwandelt", damit ich es vergleichen kann, bleibt als String nur der letzte Knoten übrig.

Was ist gegen mein NullLayout zu sagen? Besser kann man seine JLabel etc nicht positionieren.

Gruß
 

AlArenal

Top Contributor
Gast hat gesagt.:
Was ist gegen mein NullLayout zu sagen? Besser kann man seine JLabel etc nicht positionieren.

Komisch, warum wird NullLayout dann nie verwendet, wenn es so toll ist? ;)

TableLayout, FormLayout und das Layout das Netbeans mitbringt sind wohl die derzeit vielseitigsten und besten LayoutManager. Nur zum Bau eigener Komponenten verwende ich schonmal ein BorderLayout oder ein CardLayout. Aber NullLayout hab ich glaub ich im Leben noch nie benutzt.... gruselig.....
 

The_S

Top Contributor
AlArenal hat gesagt.:
Komisch, warum wird NullLayout dann nie verwendet, wenn es so toll ist? ;)

TableLayout, FormLayout und das Layout das Netbeans mitbringt sind wohl die derzeit vielseitigsten und besten LayoutManager. Nur zum Bau eigener Komponenten verwende ich schonmal ein BorderLayout oder ein CardLayout. Aber NullLayout hab ich glaub ich im Leben noch nie benutzt.... gruselig.....

Sowas sollte man mal verpflichtend in jedes Einsteigerbuch schreiben lassen ...
 
G

Gast

Gast
Hallo Zusammen,

mit dem NullLayout kann ich meine JLables, JTextfields sehr präzise setzen. Ich sollte mir wohl mal die genannten Layouts anschauen. Aber habt ihr auch einen Tip für mein eigentliches Problem ? :)

Gruß
 

Lim_Dul

Top Contributor
Nur, was passiert wenn ein User aufeinmal eine größere Default-Schriftgröße eingeschaltet hat, oder ein anderes Look-Feel nimmt, wodurch sich Schriftgrößen oder Icons ändern?
 

André Uhres

Top Contributor
Gast hat gesagt.:
..Aber habt ihr auch einen Tip für mein eigentliches Problem ?..
Versuch's mal mit DefaultMutableTreeNode#getUserObjectPath:
Code:
package tree;
/*
* Options.java
*/
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.tree.*;
public class Options extends JDialog {
    private JPanel showPanel;
    private JLabel testLabel;
    private static final long serialVersionUID = 1L;
    private JTree tree;
    private Options() {
        // Wurzelknoten herstellen
        TreeNode root = createTree();
        // Wurzelknoten wird dem neuen JTree im Konstruktor übergeben
        tree = new JTree( root );
        // Eventhandler
        tree.getSelectionModel().addTreeSelectionListener( new Aktion() );
        // Dialog erstellen
        JDialog meinDialog = new JDialog();
        // Treepanel
        JPanel treePanel = new JPanel();
        treePanel.setLayout( new BorderLayout() );
        JScrollPane treeScrollPane = new JScrollPane( tree );
        // JScrollPane dem Panel hinzufügen
        treePanel.add( treeScrollPane );
        // AnzeigePanel
        showPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
        showPanel.setBorder( BorderFactory.createEtchedBorder() );
        testLabel = new JLabel("AufrufPanel");
        showPanel.add( testLabel );
        // Panel dem Dialog hinzufügen
        meinDialog.add( treePanel, BorderLayout.WEST );
        meinDialog.add( showPanel );
        meinDialog.setDefaultCloseOperation( JDialog.DISPOSE_ON_CLOSE );
        meinDialog.pack();
        meinDialog.setSize( 600, 400 );
        meinDialog.setLocationRelativeTo(null);
        meinDialog.setVisible( true );
    }
    private static TreeNode createTree() {
        // Knoten erstellen
        DefaultMutableTreeNode root = new DefaultMutableTreeNode("Wurzel");
        DefaultMutableTreeNode letters = new DefaultMutableTreeNode("Buchstaben");
        DefaultMutableTreeNode digits = new DefaultMutableTreeNode("Zahlen");
        DefaultMutableTreeNode letterA = new DefaultMutableTreeNode("A");
        DefaultMutableTreeNode letterB = new DefaultMutableTreeNode("B");
        DefaultMutableTreeNode letterC = new DefaultMutableTreeNode("C");
        DefaultMutableTreeNode digit1 = new DefaultMutableTreeNode("1");
        DefaultMutableTreeNode digit2 = new DefaultMutableTreeNode("2");
        DefaultMutableTreeNode digit3 = new DefaultMutableTreeNode("3");
        // Verknüpfen
        letters.add( letterA );
        letters.add( letterB );
        letters.add( letterC );
        digits.add( digit1 );
        digits.add( digit2 );
        digits.add( digit3 );
        root.add( letters );
        root.add( digits );
        return root;
    }
    public static void main(final String args[]) {new Options();}
    /** Klasse für Events */
    class Aktion implements TreeSelectionListener {
        public void valueChanged( final TreeSelectionEvent e ) {
            DefaultMutableTreeNode selectedNode =
                    (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
            testLabel.setText("AufrufPanel");
            if(selectedNode == null || !selectedNode.isLeaf()) return ;
            Object[] nodes = selectedNode.getUserObjectPath();
            StringBuffer buf = new StringBuffer();
            for (int i = 0; i < nodes.length; i++) {
                buf.append(nodes[i]);
                buf.append(" ");
            }
            String letzterKnoten = buf.toString();
            if (letzterKnoten.contains("Buchstaben")) {
                testLabel.setText("Buchstabe");
            } else if (letzterKnoten.contains("Zahlen")) {
                testLabel.setText("Zahl");
            }
        }
    }
}
Lim_Dul hat gesagt.:
Nur, was passiert wenn ein User aufeinmal eine größere Default-Schriftgröße eingeschaltet hat, oder ein anderes Look-Feel nimmt, wodurch sich Schriftgrößen oder Icons ändern?
Was willst du denn damit sagen? Dann wird die Schrift/Icons eben grösser/kleiner :roll:
 

The_S

Top Contributor
André Uhres hat gesagt.:
Lim_Dul hat gesagt.:
Nur, was passiert wenn ein User aufeinmal eine größere Default-Schriftgröße eingeschaltet hat, oder ein anderes Look-Feel nimmt, wodurch sich Schriftgrößen oder Icons ändern?
Was willst du denn damit sagen? Dann wird die Schrift/Icons eben grösser/kleiner :roll:

Und das Null-Layout schaut evtl. nicht mehr so schön aus wie vorher ;)
 

André Uhres

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
..Und das Null-Layout schaut evtl. nicht mehr so schön aus wie vorher..
Das ist aber kein Problem speziell vom Null-Layout.
Das gleiche hat man auch bei anderen Layoutmanagern (FlowLayout, Randbereiche vom BorderLayout, ..)
und sowieso in den "tieferen" Elementen komplexer Komponenten wie JTable und viele andere.
 

The_S

Top Contributor
Es ist aber was anderes, wenn die Position einer Komponente relativ an deren größe berechnet wird, als wenn sie bei jeder Größe an der selben Stelle angezeigt wird ...
 

André Uhres

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Es ist aber was anderes, wenn die Position einer Komponente relativ an deren größe berechnet wird, als wenn sie bei jeder Größe an der selben Stelle angezeigt wird ...
Sicher, der Nutzen daraus ist aber imho eher die Anpassung an die Datenmenge als an die Darstellungsart.
 

The_S

Top Contributor
Wenn jetzt aber z. B. eine andere Schriftgröße oder ein anderes LaF gesetzt wird, dann haste wieder das Problem mit der "Datenmenge", da die Daten halt einfach größer sind und so mehr Platz brauchen.
 

André Uhres

Top Contributor
Schriftvergrösserung betrifft nicht die Datenmenge, das darf man nicht vergessen:
es schafft in allen Bereichen der GUI ein ein allgemeines Problem,
das man nicht allein durch LayoutManager lösen kann.
 

The_S

Top Contributor
Ich glaube wir reden gerade ein bisschen aneinander vorbei ... was für eine Art von Schriftvergrößerung meinst du denn?
 

The_S

Top Contributor
Z. B. wenn eine nachträgliche Anpassung der Schriftart oder des LaF im Code vorgenommen wird. Dadurch müssen alle Componenten neu plaziert werden. Ein LayoutManger, der die Komponenten abhängig von der Größe setzt, würde die GUI einfach anpassen. Beim Null-Layout müsste jede Maske einzeln angepasst werden. Mal ganz zu schweigen bei den Verschiebungen, wenn man die Anwendung einfach z. B. unter Linux anstelle von WinXP ausführt.
 

André Uhres

Top Contributor
In der Tat, Lim_Dul meinte sicher was anderes:
Nur, was passiert wenn ein User aufeinmal eine größere Default-Schriftgröße eingeschaltet hat..?

Das klingt wohl nicht nach Codeanpassung.
 
G

Gast

Gast
Also das mit dem Layout kann ich nachvollziehen. Macht ihr das dann "per " Hand oder verwendet ihr ne Builder. Das gibt es ja diverse fürs FormLayout.

Nun aber nochmal zu meinem Problem. Den Konten finde ich ganz gut raus, aber wenn der Knoten angeklickt wird ändert sich auch der Labeltext und eine neues Label wird hinzugefügt. Wenn ich die Änderung des Labeltextes heraus nehme passiert übrigens nichts mehr, obwohl doch zumindestens der zweite Label erscheinen solte. oder. Eigentlich möchte ich das beim Anklicken eines Knotens das komplette Panel "leer" gemacht wird und ich setzte die einzelnen Felder komplett neu. Das muss doch machbar sein.

Code:
if (letzterKnoten.equals("Buchstaben")) {
				
	//showPanel.setBorder( BorderFactory.createEtchedBorder() );
	//testLabel.setText("Buchstabe");
				
	//showPanel.removeAll();
						
	JLabel testLabel2 = new JLabel("Zwei");
	testLabel2.setBounds( 20, 30, 100, 100);
	showPanel.add( testLabel2 );
				
}
 
G

Gast

Gast
Danke, jetzt klappt es. Juchu...

Werde erstmal bei dem Nulllayout bleiben. Ist sicherlich nicht der beste Weg, aber ich werde dass dan später mal austauschen gegen das Formlayout.

Gruß
 

The_S

Top Contributor
per Hand ... Ich kenn keinen GUI-Builder der sauberen Code produziert. Die Dinger sind eherfür Testzwecke gedacht.
 

André Uhres

Top Contributor

Wie bei jeder IDE, muss man erstmal lernen damit umzugehen, bevor man darüber urteilt.
Man kann Einstellungen vornehmen, die die Codegenerierung beeinflussen.
Zudem kann man den generierten Code verändern (entgegen der Meinung mancher Neubenutzer).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
FrittenFritze JTree, LazyLoading und "Rückwärtstraversion" AWT, Swing, JavaFX & SWT 3
J Falsches Rendern durch JCheckBox in eigenem JTree AWT, Swing, JavaFX & SWT 6
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
F Jtree aus Klasse mit Arraylisten AWT, Swing, JavaFX & SWT 1
A Swing JList zu JTree AWT, Swing, JavaFX & SWT 11
G JTree +/- verschwidet wenn Knoten keine Kinder hat... AWT, Swing, JavaFX & SWT 6
RalleYTN Modaler Dialog und JTree Node mit sehr... seeeeehr vielen Elementen AWT, Swing, JavaFX & SWT 6
Z Swing JTree DefaultMultipleTreeNode Repräsentation ändern AWT, Swing, JavaFX & SWT 1
Z Swing Drag&Drop zwischen JTable und JTree AWT, Swing, JavaFX & SWT 4
W Swing Anzeigefehler bei JTree AWT, Swing, JavaFX & SWT 1
S Zwei JTree, ein Model, bei Selection im ersten JTree soll der zweite die Inhlate anzeigen AWT, Swing, JavaFX & SWT 2
S JRadioButton und JCheckBox im JTree AWT, Swing, JavaFX & SWT 14
H Swing JTree: Zählt der rootNode mit? AWT, Swing, JavaFX & SWT 2
krgewb Swing JTree - Farbe von nodes ändern AWT, Swing, JavaFX & SWT 4
R JTree behandeln AWT, Swing, JavaFX & SWT 2
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
U dynamisches JTree erstellen AWT, Swing, JavaFX & SWT 2
J JTree updaten AWT, Swing, JavaFX & SWT 2
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
H JTree in JScrollPane passt sich nicht an Größe von JPanel an AWT, Swing, JavaFX & SWT 2
T Swing API Frage zu Verzeichnisbäumen und JTree AWT, Swing, JavaFX & SWT 1
T JTree mit Symbolen? AWT, Swing, JavaFX & SWT 8
R Anfängerfrage: Ansichten des JTree AWT, Swing, JavaFX & SWT 1
H Swing JTree Minimumgröße AWT, Swing, JavaFX & SWT 2
F Swing JTree + DiffUtils // Markierung Nodes aufheben AWT, Swing, JavaFX & SWT 2
I JTree wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
M Swing JTree AWT, Swing, JavaFX & SWT 4
M Nodes in JTree nicht anzeigen AWT, Swing, JavaFX & SWT 0
T JTree mit Cloud verbinden AWT, Swing, JavaFX & SWT 0
H JTree Probleme AWT, Swing, JavaFX & SWT 9
F Swing Drag and Drop in JTree aus verschiedenen Listen AWT, Swing, JavaFX & SWT 6
M JButton wird von JTree überdeckt AWT, Swing, JavaFX & SWT 4
J Auf Dateien in JTree zugreifen AWT, Swing, JavaFX & SWT 15
F jTree.startEditingAtPath(path); funktioniert nicht bei eigenem CellEditor? AWT, Swing, JavaFX & SWT 8
D Swing JTree Steuerung AWT, Swing, JavaFX & SWT 11
S Swing JTree verwirrt mich AWT, Swing, JavaFX & SWT 2
T JTree - Elemente mit Doppelklick auswählen AWT, Swing, JavaFX & SWT 6
J JTree speichern AWT, Swing, JavaFX & SWT 4
N Swing JTree TreeCellRenderer mit html und automatischen Zeilenumbruch AWT, Swing, JavaFX & SWT 8
O Swing JTree um Label (oder Panel) erweitern AWT, Swing, JavaFX & SWT 9
T JTree, Knoten mehrmals verwenden AWT, Swing, JavaFX & SWT 5
B JTree mit Ordneransicht in JPanel einbinden AWT, Swing, JavaFX & SWT 4
D JTree node reagiert bei Klick nicht immer AWT, Swing, JavaFX & SWT 2
M Swing JTree: Wie kann ich die Hintergrundfarbe der selection ändern?!?! AWT, Swing, JavaFX & SWT 7
D Mehrmals auf Node im JTree klicken AWT, Swing, JavaFX & SWT 2
D JSplitPane, Jtree, CardLayout (constraint must be a string) AWT, Swing, JavaFX & SWT 9
N Swing FileFilter lässt JTree sich nicht öffnen AWT, Swing, JavaFX & SWT 2
X Swing 2 TreeModel und ein JTree synchronisieren AWT, Swing, JavaFX & SWT 3
N Swing JTree TreePath zu Windows Pfad? AWT, Swing, JavaFX & SWT 2
RELAXccc Swing JTree + JScrollPane, refresh Problem AWT, Swing, JavaFX & SWT 17
X Swing JTree aktualisieren AWT, Swing, JavaFX & SWT 2
V Swing JTree - Umbenennen selbst handlen. AWT, Swing, JavaFX & SWT 2
E Übergebenem JTree Blätter hinzufügen AWT, Swing, JavaFX & SWT 2
E Wert eines selektierten Knotens in einem JTree auslesen AWT, Swing, JavaFX & SWT 3
A Swing JTree - Nodes expanden AWT, Swing, JavaFX & SWT 2
D JTree nach Klick auf einen Hyperlink aktualisieren AWT, Swing, JavaFX & SWT 3
B JTree AWT, Swing, JavaFX & SWT 9
T Menüacceleratoren verschwinden bei JTree AWT, Swing, JavaFX & SWT 5
1 Swing JTree collapse child nodes AWT, Swing, JavaFX & SWT 4
B JTree - sehr individuell AWT, Swing, JavaFX & SWT 3
G Swing JTree - Verbindungslinien entfernen AWT, Swing, JavaFX & SWT 4
A Swing Herausfinden ob bei JTree Klick auf "+"/"-" anahnd x,y AWT, Swing, JavaFX & SWT 2
S Swing JTree und seine Listener... AWT, Swing, JavaFX & SWT 4
L Swing JTree wird nicht selektiert AWT, Swing, JavaFX & SWT 2
P [JTree] Markierhilfe der Drop-Location selber gestalten. AWT, Swing, JavaFX & SWT 4
A JTree aus Pfaden erzeugen AWT, Swing, JavaFX & SWT 3
K Swing Hilfe beim JTree! AWT, Swing, JavaFX & SWT 3
X Datensätze in JTree AWT, Swing, JavaFX & SWT 2
L Update JTree Verzeichnisse AWT, Swing, JavaFX & SWT 9
E JTree Auswahl AWT, Swing, JavaFX & SWT 2
K JTree width der Treenodes auf 100% AWT, Swing, JavaFX & SWT 6
C JTree LastSelectedPathComponent benutzen? AWT, Swing, JavaFX & SWT 3
S Swing JTree Node Text nicht richtig angezeigt AWT, Swing, JavaFX & SWT 2
Landei Swing JTree mit "Tabellenzeilen"? AWT, Swing, JavaFX & SWT 5
Rudolf Swing JTree Node anhand vom Namen finden AWT, Swing, JavaFX & SWT 4
S JTree Elemente nach BaumLevel abspeichern AWT, Swing, JavaFX & SWT 2
Z JTree rootChilds AWT, Swing, JavaFX & SWT 2
D JTree DefaultMutableTreeNode ActionPerformed AWT, Swing, JavaFX & SWT 3
T JTree Daten in DB schreiben am besten SQL AWT, Swing, JavaFX & SWT 21
O JTree/TreeModel/DefaultMutableTreeNodes thread safe machen AWT, Swing, JavaFX & SWT 3
J Lazy Loading eine JTree während Scrollen AWT, Swing, JavaFX & SWT 11
S JTree & JComboBox - Elemente übers Fenster hinaus anzeigen AWT, Swing, JavaFX & SWT 9
E Swing JTree AWT, Swing, JavaFX & SWT 2
J Swing Lazy Loading in JTree wenn gescrollt wird AWT, Swing, JavaFX & SWT 3
N Knotenanordnung in JTree AWT, Swing, JavaFX & SWT 4
S JTree mit Liste zur Speicherung AWT, Swing, JavaFX & SWT 3
S Jtree CheckNode mit JPanel AWT, Swing, JavaFX & SWT 32
G JTree entfernt Nodes nicht AWT, Swing, JavaFX & SWT 12
C Swing JTree und TreeModel AWT, Swing, JavaFX & SWT 15
S Swing JTree wird nicht angezeigt AWT, Swing, JavaFX & SWT 3
J JTree AWT, Swing, JavaFX & SWT 2
R [JTree/DefaultTreeCellRenderer] eigenes Renderer-Panel, so breit wie der JTree AWT, Swing, JavaFX & SWT 2
S Swing JTree mit KeyListener AWT, Swing, JavaFX & SWT 2
E Swing JTree setSelectedPath funktioniert nicht?! AWT, Swing, JavaFX & SWT 5
E JTree Autoscroll bei Drag and Drop AWT, Swing, JavaFX & SWT 4
S JTree aus List<File> erstellen AWT, Swing, JavaFX & SWT 8
C Swing MouseEntered(?) für jeden Node im JTree AWT, Swing, JavaFX & SWT 4
M JTree mit eigenen Knoten - Zugriff auf Daten AWT, Swing, JavaFX & SWT 6
C Swing JTree UI Probleme AWT, Swing, JavaFX & SWT 6
G JTree - Observer oder Listener? AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen


Oben