引用SWT类中的方法

时间:2015-08-07 04:49:46

标签: java eclipse swt

我有一个我已经建立并完善的程序。我现在想为它制作一个用户界面。

我下载了所有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()

我是一个相当新的程序员,所以我对这一切都是新手。它是什么意思,我该如何解决?

1 个答案:

答案 0 :(得分:0)

第一个错误意味着错误消息的含义:从script.mainScript()调用ActionEvent后,它可能位于匿名类中,该类无法访问script。最后改变它的可见范围。我们无法告诉您是否应该使用final或使用其他机制,例如将其作为参数传递给ActionListener,因为我们不知道您的代码,但您应{{3 }}

第二个错误意味着错误消息的内容:您的mainScript(String[])方法需要一个String[]数组参数,但是您调用它时没有参数,因此出错。

记录中,这与SWT本身无关。由于您是新的,因此有些Java约定:类conv等类名通常以大写字母开头:Conv。脚本是方法/对象/类的误导性名称,因为我们在这里编程,而不是编写脚本。