【发布时间】:2013-12-06 03:52:29
【问题描述】:
基本上,目前我正在执行某些操作,这些操作被保存在ArrayList 中,当我单击Play 按钮时,它们将被输出到TextArea。我还有另外两个按钮,Start 和 Stop。
- 当我点击开始时,我所做的每一个动作都应该开始录制。
- 当我单击停止时,它会停止记录动作。
- 当我单击“播放”时,操作应该会打印在文本区域中。
我已经完成了一些艰苦的工作,但我似乎无法实现开始和停止按钮。我将附上我的部分代码,以便您查看。提前致谢!!
public class jPanelBottom extends javax.swing.JPanel
{
private JTextField jtfBoundaryLength, jtfArea;
private JSlider jsShapes;
private JLabel jLabelBoundaryLength, jLabelArea, jLabelSlider;
private JButton jbStart, jbStop, jbPlay;
public static ActionPanel yes;
public jPanelBottom()
{
initComponents();
jbStart = new JButton();
jbStop.setText("Start");
jbStart.setSize(80, 25);
jbStart.setLocation(400, 95);
this.add(jbStart);
jbStop = new JButton();
jbStop.setText("Stop");
jbStop.setSize(80, 25);
jbStop.setLocation(500, 95);
this.add(jbStop);
jbPlay = new JButton();
jbPlay.setText("Play");
jbPlay.setSize(80, 25);
jbPlay.setLocation(600, 95);
this.add(jbPlay);
jbPlay.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
try{
//jbStart.addActionListener(this);
{
jbPlay.addActionListener(this);
ArrayList<String> list = MyFrame.shape1.getArrayList();
for (String s : list)
{
ActionPanel.jtaWoof.append(s);
ActionPanel.jtaWoof.append("\n");
}
}}catch(Throwable ex){}}
});
}
非常感谢任何帮助!
【问题讨论】:
-
为什么要在调用 actionPerformed 时将 ActionListener 添加到按钮?
-
我真的不知道。我对编程很陌生
-
...以及为什么您不将
ActionListener添加到您的开始和停止按钮,而您显然期望他们执行一些操作? -
老实说,我也不是 100% 确定如何正确地做到这一点
-
那么你需要一些教育。你可能想试试Event ListenersTutorial,看看你是否需要回到更基本的东西。
标签: java swing jbutton actionlistener