问题描述
我有一个已构建和完善的程序。 我现在想为此创建一个UI。
我下载了所有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 [])不适用于参数()
我是一个相当新的程序员,所以我是所有新手。 这是什么意思,我该如何解决?
1楼
第一个错误表示错误消息的script.mainScript()
:由于从ActionEvent
调用script.mainScript()
,它可能在匿名类内部,该类无法访问script
。
使其最终更改是可见范围。
由于我们不知道您的代码,因此我们无法告诉您是否应该使其final
或使用其他机制,例如将其作为参数传递给ActionListener
,但是您应该
第二个错误表示错误消息的mainScript(String[])
:您的mainScript(String[])
方法需要一个String[]
数组参数,但是您不带任何参数调用它,因此出现了错误。
记录下来,这与SWT本身无关。
而且由于您是新手,所以有些Java约定:类名(例如conv
通常以大写字母开头: Conv
。
脚本是方法/对象/类的误导性名称,因为我们在这里进行编程,而不是编写脚本。