/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JTree problemer
Fra : PennyWise_22


Dato : 14-02-02 16:59

Jeg skal lave et træ, som har en parent knude og en masse noder som ikke må
få nogle children. Jeg har lavet en DefaultTreeModel.
For hver gang en button trykkes - enten slet eller tilføj skal der således
slettes den selekterede node og ligeledes skal tilføj tilføje en node efter
den sidste node i træet.
Hvordan vil koden se ud? Fordi jeg kan kun lave et JTree som tilføjer
children til det selekterede node, hvilket den ikke skal.

Her er lidt af min kode:

private TreeNode root;
private JTree tree;
private DefaultTreeModel model;
private DefaultMutableTreeNode rod;
private DefaultMutableTreeNode newNode;

root = makeSampleTree();
model = new DefaultTreeModel(root);
tree = new JTree(model);

public TreeNode makeSampleTree()
{
rod = new DefaultMutableTreeNode("Konti");
DefaultMutableTreeNode kt = new DefaultMutableTreeNode("Konto 1");
rod.add(kt);
return rod;
}

og min almindelige actionlistener:
private class MuseLytter implements ActionListener{
public void actionPerformed(ActionEvent e)
{
DefaultMutableTreeNode selectedNode
= (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();

if(selectedNode == null) return;

Object aktiveretKnap = e.getSource();

if(aktiveretKnap.equals(jButton2)){ //sletter selekteret konto
if(selectedNode.getParent()!=null){
model.removeNodeFromParent(selectedNode);
return;
}
}

else if(aktiveretKnap.equals(jButton3))
{
String ktn = jTextField3.getText();
System.out.print(ktn);
newNode = new DefaultMutableTreeNode(ktn);
model.insertNodeInto(newNode, root, selectedNode.getChildCount());
}


else if(aktiveretKnap.equals(jButton1)){
//this.sendToBack();
}


TreeNode[] nodes = model.getPathToRoot(newNode);
TreePath path = new TreePath(nodes);

}
}



 
 
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste