我正在开发一个简单的Java应用程序,其中包含用于用户界面的SWT。 一切工作正常,但我有变量声明顺序(这是我的第一个SWT应用程序)的一些问题。关于SWT变量声明顺序的问题
我有两个按钮,称为btnStop和btnStart,并附上一个SelectionAdapter事件。
这是行为,他们应该有:
- 当我按一下按钮btnStart,其活动有设置btnStard禁用和启用btnStop;
- 同样适用于按钮btnStop:另一个事件必须禁用btnStop本身并启用btnStart。
事实是:如果我btnStart之前宣布btnStop,因为Eclipse中说,两个变量(取决于申报顺序)的一个尚未初始化前的事件不能设置后者禁用,反之亦然。
下面是部分代码:
final Button btnStop = new Button(shlFinalFantasyXiv, SWT.NONE);
btnStop.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
Check.keepPinging = false;
comboServer.setEnabled(true);
btnStart.setEnabled(true); // <- ERROR HERE
btnStop.setEnabled(false);
}
});
btnStop.setBounds(357, 106, 75, 25);
btnStop.setText("Stop");
final Button btnStart = new Button(shlFinalFantasyXiv, SWT.NONE);
btnStart.addSelectionListener(new SelectionAdapter() {
// some stuff
}
如果您有任何意见,这将会非常赞赏。在此先感谢您的帮助。
太棒了!现在它工作了!我认为我必须在按钮声明后立即定义方法,但我错了。我也会看看教程,谢谢你的帮助。 – Nick0602
您可以随时添加(并删除)侦听器。 –