gpt4 book ai didi

java - 让用户在 Action Listener 的 for 循环中输入 JTextField

转载 作者:行者123 更新时间:2023-11-30 04:49:19 25 4
gpt4 key购买 nike

我对 Java 还算陌生。我希望用户能够通过单击提交来分别输入 4 个不同的输入。我正在使用 for 循环进行计数,但我不知道如何让用户多次输入答案。 for 循环只是一次性重复所有内容。我正在使用数组来保存用户的答案。这是我的代码的一部分。如果您有疑问或需要更多解释,我会的。解释更多

private void Question1()
{
int count = 1;
QuestionsPanel.add(new JLabel(Q1.getQuestion()));
QuestionsPanel.add(new JLabel(Arrays.toString(mans1)));

AnswerField = new JTextField(10);
AnswerPanel.add(AnswerField);

Submit = new JButton("Submit");
AnswerPanel.add(Submit);
Submit.addActionListener(this);

}

public void actionPerformed(ActionEvent e)
{
if ((e.getSource() == Submit) && count == 0)

{
int value = Integer.parseInt(AnswerField.getText());

for (int i = 0; i < 4; i++)
{

if (value == -1) break;
ans[i] = value - 1;
AnswerField.setText("");


}

最佳答案

这不起作用,因为您将循环放置在 ActionListener 中,该循环在单击按钮时执行一次。

你应该做的是在某处保存当前答案的计数器

int count = 0;

public void actionPerformed(ActionEvent e) {
if ((e.getSource() == Submit) && count < 4) {
int value = Integer.parseInt(AnswerField.getText());

if (value == -1) break;
ans[count++] = value - 1;
AnswerField.setText("")
}
}

通过这种方式,循环由 Action 监听器隐式管理:每次按下提交时计数都会增加 1,并且正确的答案将放置在数组中。当然,您应该在提交第四个答案时执行一些操作,例如禁用提交按钮。

关于java - 让用户在 Action Listener 的 for 循环中输入 JTextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10202435/

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