Java 关于SWT变量声明顺序的问题
我正在开发一个简单的Java应用程序,使用SWT作为用户界面。 一切正常,但变量声明顺序有一些问题(这是我的第一个SWT应用程序) 我有两个按钮,称为btnStop和btnStart,它们附带一个SelectionAdapter事件 这是他们应该具备的行为:Java 关于SWT变量声明顺序的问题,java,eclipse,swt,Java,Eclipse,Swt,我正在开发一个简单的Java应用程序,使用SWT作为用户界面。 一切正常,但变量声明顺序有一些问题(这是我的第一个SWT应用程序) 我有两个按钮,称为btnStop和btnStart,它们附带一个SelectionAdapter事件 这是他们应该具备的行为: 当我点击按钮btnStart时,其事件必须设置btnStard disabled和btnStop enabled 按钮btnStop也是如此:另一个事件必须禁用btnStop本身并启用btnStart 事实是:如果我在btnStart之
- 当我点击按钮btnStart时,其事件必须设置btnStard disabled和btnStop enabled李>
- 按钮btnStop也是如此:另一个事件必须禁用btnStop本身并启用btnStart
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
}
final Button btnStop=新按钮(SHLFINALYXIV,SWT.NONE);
btnStop.addSelectionListener(新的SelectionAdapter(){
@凌驾
公共无效WidgeSelected(SelectionEvent e){
Check.keepping=false;
comboServer.setEnabled(true);
btnStart.setEnabled(true);//两个按钮都需要一个全局ActionListener。它通过一个按钮确定是否按下了其中一个按钮,并将激活一个按钮,禁用另一个按钮
看一看这本图刊,在“多源”一章中阐述了这一概念:
您正在使用SWT,但swing中的概念是相同的。在声明两个按钮之前,不要设置选择侦听器:
final Button btnStop = new Button(shlFinalFantasyXiv, SWT.NONE);
// set text, layout
final Button btnStart = new Button(shlFinalFantasyXiv, SWT.NONE);
// set text, layout
btnStop.addSelectionListener(new SelectionAdapter() {
// code
}
btnStart.addSelectionListener(new SelectionAdapter() {
// some stuff
}
顺便说一句,了解如何使用来布局控件。使用setBounds
意味着如果所使用的字体发生更改,事情会变得一团糟。太好了!现在它可以工作了!我原以为我必须在按钮声明后立即定义方法,但我错了。我还将查看教程,感谢您的帮助。您可以添加(并随时删除)侦听器。感谢您的回复:)