我试图在Java Swing组件中以幻灯片形式显示一个字符串数组(一个一个地显示)。我还试图在迭代之间添加延迟时间。
我试图通过使用JTextArea并向其中添加一个动作侦听器来做到这一点。这是我现在拥有的代码:
private class myActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { // A BUNCH OF TEXT PROCESSING //NOTE: myInfo.getContents() returns an ArrayList<myType>. Iterator<myType> iterator = myInfo.getContents().iterator(); int i = 0; while (iterator.hasNext()) { myTextArea.setText(iterator.next().toString()); // to add time betweeen iterations i wanted to use the thread // delay method. } } }
我的代码不起作用,因为JTextArea没有动作侦听器。
更新 说明:许多答复指出,我应该对JTextArea使用ActionListener;否则,请执行以下操作。但是,Eclipse并没有向我显示JTextArea具有一个名为addActionListener的方法。
我有点卡在这里, 您认为哪种Java Swing组件在这种情况下最合适?
我数组中的文本可能很长,所以单行标签不是一个好的选择。
我还有什么其他选择或方法?
非常感谢您的帮助和建议。
用你的ActionListener一个组合javax.Swing.Timer。在ActionListener分配给Timer将在与指定的延迟定期调用。
ActionListener
javax.Swing.Timer
Timer
有关更多信息,请参见计时器教程。