Moin,
folgends Problem: ich habe einen Baum, bestehend aus einem eigenen Baummodell (BasisBaumModell implements TreeModel) und mit eigenen Baumknoten (BasisBaumKnoten implements TreeNode).
Nun bekomme ich beim Versuch, den gesamten Baum aufzuklappen, eine mir unverständliche ClassCastException.
Schnipsel 1:
Schnipsel 2:
Die Exception tritt in Schnipsel 2 beim Cast von TreeNode zu BasisBaumKnoten auf; komischerweise wird der TreeNode im Debugger als DefaultMutableTreeNode angegeben, obwohl das Modell mit meinen selbst definierten Knoten gefüllt wurde. Hat jemand eine Idee?
folgends Problem: ich habe einen Baum, bestehend aus einem eigenen Baummodell (BasisBaumModell implements TreeModel) und mit eigenen Baumknoten (BasisBaumKnoten implements TreeNode).
Nun bekomme ich beim Versuch, den gesamten Baum aufzuklappen, eine mir unverständliche ClassCastException.
Schnipsel 1:
Code:
public final void expandAll ()
{
if (this.tree_ != null) {
TreeModel treeModel = this.tree_.getModel();
if (treeModel != null) {
TreeNode root = (TreeNode) treeModel.getRoot();
if (root != null) {
expandRec(root);
}
}
}
}
Code:
private void expandRec (TreeNode knoten)
{
BasisBaumKnoten baumKnoten = (BasisBaumKnoten) knoten;
Enumeration enumeration = baumKnoten.preorderEnumeration();
while (enumeration.hasMoreElements()) {
BasisBaumKnoten k = (BasisBaumKnoten) enumeration.nextElement();
this.tree_.expandPath(new TreePath(k.getPath()));
}
}
Die Exception tritt in Schnipsel 2 beim Cast von TreeNode zu BasisBaumKnoten auf; komischerweise wird der TreeNode im Debugger als DefaultMutableTreeNode angegeben, obwohl das Modell mit meinen selbst definierten Knoten gefüllt wurde. Hat jemand eine Idee?