gpt4 book ai didi

java - 如何在 while 循环内使用按钮的 Action 监听器?

转载 作者:行者123 更新时间:2023-12-02 04:15:58 25 4
gpt4 key购买 nike

我正在制作一个拍卖游戏,我将显示一个项目供用户竞价。如果用户不喜欢该项目,他可以通过单击下一个项目按钮来出价购买另一个项目。然后显示另一个项目。这就是问题所在。当我在按钮的操作监听器中编写 continue 语句时,它说 continue 不能在循环之外使用。

最佳答案

同样,我非常怀疑您在这种情况下是否需要使用 while 循环。相反,您可能会将项目保存在集合中,例如 ArrayList 或简单数组,有一个 int 索引变量,并在按下按钮时递增索引,然后使用新的高级索引检索集合中的下一个项目。例如

import java.awt.event.ActionEvent;
import javax.swing.*;

@SuppressWarnings("serial")
public class NextItem extends JPanel {
private static final String[] ITEMS = { "Sun", "Mon", "Tues", "Wed",
"Thurs", "Fri", "Sat" };
private JTextField displayField = new JTextField(10);
private JButton nextBtn = new JButton(new NextAction("Next"));
private int itemsIndex = 0;

public NextItem() {
displayField.setText(ITEMS[itemsIndex]);
displayField.setFocusable(false);
add(displayField);
add(nextBtn);
}

private class NextAction extends AbstractAction {
public NextAction(String name) {
super(name); // give button its text
int mnemonic = (int) name.charAt(0);
putValue(MNEMONIC_KEY, mnemonic); // give button a hot key
}

@Override
public void actionPerformed(ActionEvent e) {
itemsIndex++; // advance index
itemsIndex %= ITEMS.length; // renormalize it -- set to 0 if too large
displayField.setText(ITEMS[itemsIndex]);
}
}

private static void createAndShowGui() {
NextItem mainPanel = new NextItem();

JFrame frame = new JFrame("NextItem");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().add(mainPanel);
frame.pack();
frame.setLocationByPlatform(true);
frame.setVisible(true);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGui();
}
});
}
}

关于java - 如何在 while 循环内使用按钮的 Action 监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33319853/

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