我正在開發一個簡單的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
您可以隨時添加(並刪除)偵聽器。 –