Java 从内部类引用的局部变量必须是final或有效final 3

Java 从内部类引用的局部变量必须是final或有效final 3,java,javafx,Java,Javafx,我得到错误消息:“从内部类引用的局部变量必须是final或有效final” 此错误是指: MyTreeItem LeftRootItem = (MyTreeItem) treeViewLeft.getRoot(); 我犯了什么错。为什么这个错误不像“treeViewRight” addAttribute.setOnAction(新的EventHandler(){ @凌驾 公共无效句柄(ActionEvent事件){ TreeView treeViewLeft=newtreeview(); tr

我得到错误消息:“从内部类引用的局部变量必须是final或有效final”

此错误是指:

MyTreeItem LeftRootItem = (MyTreeItem) treeViewLeft.getRoot();
我犯了什么错。为什么这个错误不像“treeViewRight”

addAttribute.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
TreeView treeViewLeft=newtreeview();
treeViewLeft.setShowRoot(false);
treeViewLeft.setRoot(新MyTreeItem(“根”);
treeViewLeft.getRoot().setExpanded(true);
TreeviewTreeviewWright;

Button Button=new Button(“问题是您将两个不同的
TreeView
s分配给
TreeView

你的第四行是

TreeView treeViewLeft = new TreeView ();
再往下几行,您将为
treeViewLeft
指定一个新值:

treeViewLeft = DB.getAttributesfromClassorProduct(selectedItem.getClassID());
如果要从按钮
onAction
处理程序中引用
treeViewLeft
,则不允许这样做

您只向
treeViewRight
分配一次值,这是允许的

treeViewLeft = DB.getAttributesfromClassorProduct(selectedItem.getClassID());