gpt4 book ai didi

java - 将监听器添加到下拉菜单

转载 作者:行者123 更新时间:2023-12-02 00:05:09 24 4
gpt4 key购买 nike

所以我在下面构建了一个下拉菜单:

new Label(shell, SWT.NONE).setText("Bet Type:");
betType = new Combo(shell, SWT.SINGLE | SWT.BORDER);
betType.setItems(new String[] {" ", "NFL", "NBA", "CFB"});
betType.setLayoutData(gridData);

我想要的是,当有人选择其中一个下拉选项时,我稍后将编写的一个函数将被调用。

我尝试过这样做:

betType.addSelectionListener(new SelectionAdapter()) { ... }

或者:

betType.addSelectionListener(new SelectionListener()) { ... }

或者:

betType.addModifyListener(new ModifyListener()) { ... }

而且我不断收到错误消息“无法实例化类型ModifyListener 或SelectionListener”等。如何纠正这个问题?

最佳答案

您的代码的问题是您太早关闭了第一个 (-括号。

这个:

betType.addSelectionListener(new SelectionListener()) { ... }

应该是:

betType.addSelectionListener(new SelectionListener() { ... });

以下代码完全符合您的要求:

public static void main(String[] args)
{
Display d = new Display();
final Shell shell = new Shell(d);
shell.setLayout(new GridLayout(1, false));

new Label(shell, SWT.NONE).setText("Bet type:");

final Combo betType = new Combo(shell, SWT.SINGLE | SWT.BORDER);
betType.setItems(new String[] {" ", "NFL", "NBA", "CFB"});

betType.addListener(SWT.Selection, new Listener()
{
@Override
public void handleEvent(Event arg0)
{
System.out.println(betType.getText());
}
});


shell.pack();
shell.open();
while (!shell.isDisposed())
while (!d.readAndDispatch())
d.sleep();
}

或者,这也有效:

betType.addSelectionListener(new SelectionListener()
{
@Override
public void widgetSelected(SelectionEvent arg0)
{
System.out.println(betType.getText());
}

@Override
public void widgetDefaultSelected(SelectionEvent arg0)
{
}
});

关于java - 将监听器添加到下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14034467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com