将Action用户输入到JTextField for循环中Action Listener
我对Java很新颖。我希望用户能够通过点击提交分别输入4个不同的输入。我正在使用for循环进行计数,但我不知道如何让用户多次输入他们的答案。 for循环只是一次重复。我使用数组来保存用户的答案。这是我的代码的一部分。如果您有任何问题或需要更多解释,我将确定。解释更将Action用户输入到JTextField for循环中Action Listener
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("")
}
}
这样的循环是隐式由ActionListener的管理的计数器:按提交计数每次由1与正确答案递增放置在数组内。当然你应该在提交第四个答案时做一些事情,比如禁用提交按钮。
+1,我会用这个答案 - ) – 2012-04-18 04:49:10
同意,另请参阅本[方法](http://*.com/a/8703807/230513)。 – trashgod 2012-04-18 06:15:51
请问您可以进一步解释一下,为什么需要一个循环,为什么一个普通的计数器,不能完成这项任务?就在'counter == 4'时,你可以禁用你的'JTextField'作进一步的输入。 – 2012-04-18 04:48:54