使用getter和setter将变量添加到现有类

时间:2017-05-24 14:09:03

标签: java javafx

我正在尝试使用TreeView创建一个程序,但我需要 类型TreeItem的每个对象包含一个名为CanEdit的布尔值 以及setCanEdit()的设定者和getCanEdit()的吸气者,

如何将这些内容添加到TreeItem类?

3 个答案:

答案 0 :(得分:1)

您需要扩展TreeItem。

public class EditableTreeItem<T> extends TreeItem<T>{
    private boolean canEdit;
    public void setCanEdit(boolean canEdit){this.canEdit = canEdit;}
    public boolean getCanEdit(){return this.canEdit;}
}

使用它像:

TreeItem<String> root = new TreeItem<String>("Tree Root");
root.getChildren().addAll(
    new EditableTreeItem<String>("Item 1"),
    new EditableTreeItem<String>("Item 2"),
    new EditableTreeItem<String>("Item 3")
);

希望您可以将其添加到现有的TreeView中,但为了正确处理新类,您可能还需要对其进行扩展。

答案 1 :(得分:0)

您可以创建一个扩展TreeItem的新类,然后使用它

class MyTreeItem extends TreeItem {
    public setCanEdit(...) ... 
    public getCanEdit() ...
}

当然,您需要创建适当的构造函数并在需要时委托给super。

要使用它,只需确保所有节点都属于此类型,例如new TreeView(new MyTreeItem(...))

答案 2 :(得分:0)

只需扩展 TreeItem

TreeView 中,您可以使用 OwnTreeItem ,包括带有getter和setter的所需属性。