从数组列表中选择我有一点问题。我正在编写一些代码,以便能够在一个圆圈中修复10个JButton,我做对了,但是然后.....我想在每个按钮上设置一个actionListener,但是我没有得到它,所有按钮都继承了一个所需的操作。我如何具体说明,......这是我的代码....提前致谢!
<form>
<field name="cym_tag"/>
<field name="modules" widget="one2many_tag"/>
</form>
答案 0 :(得分:2)
问题在于表达
if (quest.equals(points.get(5)));
什么都不做。我想它应该像这样重写
if (quest.equals(points.get(5))) {
String c = "Hello!";
JOptionPane.showMessageDialog(null, c);
}
答案 1 :(得分:0)
我理解这个问题的方法是你有多个按钮,你希望每个按钮都有自己与之相关的动作。有几种方法可以做到这一点。您可以根据要创建的按钮为每个JButton创建一个新的ActionListener。
您还可以在ActionListener中创建一个大的case / switch或if / else,它由选择的按钮决定。为此,您可以为ActionEvent对象调用getActionCommand()函数。
quest.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent a) {
if (a.getActionCommand().equals("Question 1"))
{
String c = "Hello!";
JOptionPane.showMessageDialog(null, c);
}
else if(a.getActionCommand().equals("Question 2"))
{
//have it do something else
}
//and so on so forth
}
});
答案 2 :(得分:0)
您需要重新考虑整个设计。你有这一行:
if (quest.equals(points.get(5))) {
但是points
是一个包含Point对象的列表; points.get(5)
返回一个Point。
任务是一个JButton。 JButton实例如何等于Point实例?