Hallo erstmal,
dies mein erster Beitrag also wenn ich irgendwelche Fehler mache seit nicht al zu böse.
Das problem ist, dass ich den Jtree nicht auf und zu machen kann, die Anzeige der Werte funktiniert bereits.
das ist der ListcellRenderer
das ist der TreeCellRenderer
also ich habe mich schon auf den Kopf gestellt mir die Threads zu JList/JTree durchgelesen und dabei keine Lösung gefunden.
Problem>Es können keine Actionen am Tree ausgeführt werden.
Wenn ihr mir helfen könntet wäre das echt super
Mfg
$R0ckl4nd$
Ps. Ich muss die JList verwenden!!!!!!(Für die Arbeit).
dies mein erster Beitrag also wenn ich irgendwelche Fehler mache seit nicht al zu böse.
Das problem ist, dass ich den Jtree nicht auf und zu machen kann, die Anzeige der Werte funktiniert bereits.
Code:
public class MyCell extends DefaultListCellRenderer {
private JTree myTree=new JTree();
private static final long serialVersionUID = 1L;
DefaultListCellRenderer defListRenderer = new DefaultListCellRenderer();
public MyCell() {
myTree.setCellRenderer(new MyTree());
}
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
super.getListCellRendererComponent(list,value,index,isSelected,cellHasFocus);
if (value instanceof JTree) {
JTree baum = (JTree) value;
value = baum.getModel().getRoot();
DefaultMutableTreeNode root2 = (DefaultMutableTreeNode) value;
myTree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
//((DefaultTreeSelectionModel)getSelectionModel()).setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
myTree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener(){
public void valueChanged(TreeSelectionEvent e) {
System.out.println("Test");
}
});
// ((DefaultTreeSelectionModel)getSelectionModel()).addTreeSelectionListener(new TreeSelectionListener(){
//
// public void valueChanged(TreeSelectionEvent e) {
// System.out.println("Test");
//
// }
//
// });
((DefaultTreeModel)myTree.getModel()).setRoot(root2);
return myTree;
}
/*
if (value instanceof DefaultMutableTreeNode) {
System.out.println("MutableTreeNode");
DefaultMutableTreeNode root = (DefaultMutableTreeNode) value;
((DefaultTreeModel) getModel()).setRoot(root);
return this;
}
*/
return defListRenderer.getListCellRendererComponent(list, value, index,
isSelected, cellHasFocus);
}
}
das ist der ListcellRenderer
Code:
public class MyTree extends DefaultTreeCellRenderer {
DefaultTreeCellRenderer defTreeRenderer = new DefaultTreeCellRenderer();
public MyTree(){
super();
}
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
if (value instanceof DefaultMutableTreeNode) {
DefaultMutableTreeNode root = new DefaultMutableTreeNode();
String Text = "";
root = (DefaultMutableTreeNode) value;
Text = (String) root.getUserObject();
value = Text;
}
return defTreeRenderer.getTreeCellRendererComponent(tree, value,
selected, expanded, leaf, row, hasFocus);
}
}
das ist der TreeCellRenderer
also ich habe mich schon auf den Kopf gestellt mir die Threads zu JList/JTree durchgelesen und dabei keine Lösung gefunden.
Problem>Es können keine Actionen am Tree ausgeführt werden.
Wenn ihr mir helfen könntet wäre das echt super
Mfg
$R0ckl4nd$
Ps. Ich muss die JList verwenden!!!!!!(Für die Arbeit).