Java 循环中的按钮操作侦听器
我已经开始编程(一般来说)4天前,所以我仍然是一个相当的noob:p而且,我的代码可能是不可读的:/ 程序背后的想法:我输入一些单词(来自我想学习的语言),然后将这些单词放入ArrayList。然后我按下一个按钮将整个ArrayList写入一个文件,程序的第二部分就变得相关了 现在,这就是我需要你帮助的地方 我想将JLabel设置为ArrayList的随机字符串(我是用Java 循环中的按钮操作侦听器,java,swing,loops,jframe,jbutton,Java,Swing,Loops,Jframe,Jbutton,我已经开始编程(一般来说)4天前,所以我仍然是一个相当的noob:p而且,我的代码可能是不可读的:/ 程序背后的想法:我输入一些单词(来自我想学习的语言),然后将这些单词放入ArrayList。然后我按下一个按钮将整个ArrayList写入一个文件,程序的第二部分就变得相关了 现在,这就是我需要你帮助的地方 我想将JLabel设置为ArrayList的随机字符串(我是用 Random rand=new Random(); int randomIndex=rand.nextInt(麦汁大小());
Random rand=new Random();
int randomIndex=rand.nextInt(麦汁大小());
jlabelwordask.setText(wort.get(randomIndex));
(wort是我的ArrayList),到目前为止它仍然有效
我制作了两个按钮,一个是“我知道”和一个是“我不知道”。“我知道”应该从麦汁中删除我设置的JLabelwordask to(wort.get(randomIndex))字符串,然后将JLabel重置为一个新的麦汁随机字符串。
“我不知道”应该只是将JLabel重置为一个新的随机麦汁字符串。
重复此操作,直到麦汁为空或按下“停止”按钮,然后writeToFile();(将麦汁内容写入文件,此操作已起作用。)
我试着这样做:
while (!wort.isEmpty()) {
Random rand = new Random();
int randomIndex;
randomIndex = rand.nextInt(wort.size());
btnGewusst.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
wort.remove(randomIndex);
lblWortabfrage.setText(wort.get(randomIndex));
zuLernen();
}
});
btnNichtGewusst.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblWortabfrage.setText(wort.get(randomIndex));
}
});
}
不幸的是,它不起作用。(不过,它对我的控制台版本的程序起了作用:()
你们会怎么做?
以下是整个程序的源代码:
注意:JLabelWordAskes是lblWortabfrage,“我知道”是btngewust,“我不知道”是btnnichtgewust和zuLernen()只是将麦汁中的所有字符串放在一个字符串zuLernen中。不要使用
辱骂性/冒犯性的语言!!更好?:)@NeerajJainGet摆脱循环,这不是GUI的工作方式,它们是事件驱动的,并且往往不会以线性方式工作。那么我写什么来获得我想要的结果呢?这就是为什么我发布这个问题的原因@MadProgrammerYou写的是某种方法,你可以调用它来响应其他事件/更改,比如用户键入字符字符