В настоящее время я выполняю определенные действия, которые хранятся в ArrayList
, и когда я нажимаю кнопку Play
, они выводятся на TextArea
. У меня есть две другие кнопки: Start
и Stop
.Как сделать действие при нажатии одной кнопки
- Когда я нажимаю «Пуск», каждое действие, которое я делаю, должно начинаться с записи.
- Когда я нажимаю 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){}}
});
}
Я очень ценю любую помощь !!
Почему вы добавляете ActionListener к кнопке в течение всего времени actionPerformed? – MadProgrammer
Я честно понятия не имею. Я очень новичок в программировании – user3062664
... и почему вы ** не добавляете 'ActionListener' в свои кнопки * Start * и * Stop *, в то время как вы, видимо, ожидаете, что они будут выполнять какое-то действие? –