我有一个我已经建立并完善的程序。我现在想为它制作一个用户界面。
我下载了所有SWT内容,并根据自己的喜好构建了GUI的布局。这是我的问题:我需要将我的程序类链接到GUI类。我有这个代码:
conv script = new conv();
// other coding bits for the other GUI stuff
// inside an ActionEvent:
script.mainScript();
但它给了我一条错误信息
不能引用封闭范围中定义的非最终局部变量脚本
所以我把它改成了
final conv script = new conv();
它说
类型conv中的方法mainScript(String [])不适用于arguments()
我是一个相当新的程序员,所以我对这一切都是新手。它是什么意思,我该如何解决?
答案 0 :(得分:0)
第一个错误意味着错误消息的含义:从script.mainScript()
调用ActionEvent
后,它可能位于匿名类中,该类无法访问script
。最后改变它的可见范围。我们无法告诉您是否应该使用final
或使用其他机制,例如将其作为参数传递给ActionListener
,因为我们不知道您的代码,但您应{{3 }}
第二个错误意味着错误消息的内容:您的mainScript(String[])
方法需要一个String[]
数组参数,但是您调用它时没有参数,因此出错。
记录中,这与SWT本身无关。由于您是新的,因此有些Java约定:类conv
等类名通常以大写字母开头:Conv
。脚本是方法/对象/类的误导性名称,因为我们在这里编程,而不是编写脚本。