S
Solour.
Gast
hey,
ich habe da ein kleines problem mit mienem JTree, er macht halt so grafikfehler und zeigt nicht alle elemente an
doppelklick auf machines
doppelklick auf 1
doppelklick auf 3
doppelklick auf 0
klick auf 1
src1
src2
output:
1
3
0
1
laut debugger sind alle elemente vorhanden (inclusive der zwei nullen die an der 3 hängen müssten nach dem letzten klick)
falls jemand ne idee hat was ich falsch mache, bitte immer her damit...
bye
hier nochmal der code:
ich habe da ein kleines problem mit mienem JTree, er macht halt so grafikfehler und zeigt nicht alle elemente an

doppelklick auf machines

doppelklick auf 1

doppelklick auf 3

doppelklick auf 0

klick auf 1

src1
src2
output:
1
3
0
1
laut debugger sind alle elemente vorhanden (inclusive der zwei nullen die an der 3 hängen müssten nach dem letzten klick)
falls jemand ne idee hat was ich falsch mache, bitte immer her damit...
bye
hier nochmal der code:
Code:
package main;
import java.awt.GridLayout;
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
public class MainFrame extends JFrame {
private static final long serialVersionUID = 9139820656652675733L;
private JPanel lowerArea = new JPanel();
private DefaultMutableTreeNode treeRoot = new DefaultMutableTreeNode(
"Machines");
private JTree tree = new JTree(treeRoot);
public MainFrame() {
initComponents();
}
private void initComponents() {
this.getContentPane().add(lowerArea);
lowerArea.setLayout(new GridLayout(1, 0, 10, 10));
lowerArea.add(tree);
this.setBounds(100, 100, 200, 200);
DefaultMutableTreeNode prev = treeRoot;
Integer a1 = new Integer(1);
Integer a2 = new Integer(2);
Integer a3 = new Integer(3);
DefaultMutableTreeNode tn1 = new DefaultMutableTreeNode();
DefaultMutableTreeNode tn2 = new DefaultMutableTreeNode();
DefaultMutableTreeNode tn3 = new DefaultMutableTreeNode();
tn1.setUserObject(a1);
tn2.setUserObject(a2);
tn3.setUserObject(a3);
prev.add(tn1);
tn1.add(tn3);
prev.add(tn2);
ToolTipManager.sharedInstance().registerComponent(tree);
tree.setRootVisible(true);
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent evt) {
tree_valueChanged(evt);
}
});
}
private void tree_valueChanged(TreeSelectionEvent evt) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree
.getLastSelectedPathComponent();
if (node == null)
return;
if (node.getUserObject().getClass().equals(Integer.class)) {
System.out.println(node.getUserObject());
DefaultMutableTreeNode tn = new DefaultMutableTreeNode();
tn.setUserObject(new Integer(0));
node.add(tn);
}
}
}