Не могу справиться с ActionListener - Java

Узнай цену своей работы

Формулировка задачи:

package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Main {

    public static void main(String[] args) throws InterruptedException {
 
        JFrame fr = new JFrame("os");
        JButton b1, b2;
        JLabel l1, l2, l3, l4, l5;
        JProgressBar pb1, pb2, pb3, pb4;
        fr.setVisible(true);
        fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fr.setLocationRelativeTo(null);
        fr.setResizable(false);
        fr.setLayout(new FlowLayout());
        fr.setSize(300, 200);
        b1 = new JButton("Start");
        b2 = new JButton("Задание");
        b2.addActionListener(new click());
        l1 = new JLabel("FCFS ");
        l2 = new JLabel("Пр1=07сек");
        l3 = new JLabel("Пр2=18сек");
        l4 = new JLabel("Пр3=26сек");
        l5 = new JLabel("Пр4=39сек");
        pb1 = new JProgressBar();
        pb2 = new JProgressBar();
        pb3 = new JProgressBar();
        pb4 = new JProgressBar();
        fr.add(pb1);
        fr.add(b1);
        fr.add(b2);
        fr.add(l1);
        fr.add(pb1);
        fr.add(l2);
        fr.add(pb2);
        fr.add(l3);
        fr.add(pb3);
        fr.add(l4);
        fr.add(pb4);
        fr.add(l5);
        pb1.setMinimum(0);
        pb1.setMaximum(7);
        pb1.setStringPainted(true);
        pb2.setMinimum(0);
        pb2.setMaximum(18);
        pb2.setStringPainted(true);
        pb3.setMinimum(0);
        pb3.setMaximum(26);
        pb3.setStringPainted(true);
        pb4.setMinimum(0);
        pb4.setMaximum(39);
        pb4.setStringPainted(true);

        for (int i = pb1.getMinimum(); i <= pb1.getMaximum(); i++) {
            Thread.sleep(1000);
            pb1.setValue(i);
        }
 
        for (int k = pb2.getMinimum(); k <= pb2.getMaximum(); k++) {
            Thread.sleep(1000);
            pb2.setValue(k);
        }
 
        for (int l = pb3.getMinimum(); l <= pb3.getMaximum(); l++) {
            Thread.sleep(1000);
            pb3.setValue(l);
        }
 
        for (int j = pb4.getMinimum(); j <= pb4.getMaximum(); j++) {
            Thread.sleep(1000);
            pb4.setValue(j);
        }
}
 
}
Не могу добавить слушатель на кнопки, подскажите пожалуйста. Не Java FX, а обычная

Решение задачи: «Не могу справиться с ActionListener»

textual
Листинг программы
package swing.button;
 
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
 
public class Main {
 
 
    public static void main(String[] args) throws InterruptedException {
 
        JFrame fr = new JFrame("os");
        JButton b1, b2;
        JLabel l1, l2, l3, l4, l5;
        JProgressBar pb1, pb2, pb3, pb4;
        fr.setVisible(true);
        fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        fr.setLocationRelativeTo(null);
        fr.setResizable(false);
        fr.setLayout(new FlowLayout());
        fr.setSize(300, 200);
        b1 = new JButton("Start");
        b2 = new JButton("Задание");
        l1 = new JLabel("FCFS ");
        l2 = new JLabel("Пр1=07сек");
        l3 = new JLabel("Пр2=18сек");
        l4 = new JLabel("Пр3=26сек");
        l5 = new JLabel("Пр4=39сек");
        pb1 = new JProgressBar();
        pb2 = new JProgressBar();
        pb3 = new JProgressBar();
        pb4 = new JProgressBar();
        fr.add(pb1);
        fr.add(b1);
        fr.add(b2);
        fr.add(l1);
        fr.add(pb1);
        fr.add(l2);
        fr.add(pb2);
        fr.add(l3);
        fr.add(pb3);
        fr.add(l4);
        fr.add(pb4);
        fr.add(l5);
        pb1.setMinimum(0);
        pb1.setMaximum(7);
        pb1.setStringPainted(true);
        pb2.setMinimum(0);
        pb2.setMaximum(18);
        pb2.setStringPainted(true);
        pb3.setMinimum(0);
        pb3.setMaximum(26);
        pb3.setStringPainted(true);
        pb4.setMinimum(0);
        pb4.setMaximum(39);
        pb4.setStringPainted(true);
 
 
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                for (int i = pb1.getMinimum(); i <= pb1.getMaximum(); i++) {
                        Thread.sleep(1000);
                    pb1.setValue(i);
                }
 
                for (int k = pb2.getMinimum(); k <= pb2.getMaximum(); k++) {
                    Thread.sleep(1000);
                    pb2.setValue(k);
                }
 
                for (int l = pb3.getMinimum(); l <= pb3.getMaximum(); l++) {
                    Thread.sleep(1000);
                    pb3.setValue(l);
                }
 
                for (int j = pb4.getMinimum(); j <= pb4.getMaximum(); j++) {
                    Thread.sleep(1000);
                    pb4.setValue(j);
                }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
 
            }
        }).start();
        b1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                pb1.setValue( 0);
 
            }
        });
        b2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                pb2.setValue( 0);
 
            }
        });
 
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5