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

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

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

Листинг программы
  1. package com.company;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.*;
  5.  
  6. public class Main {
  7.  
  8. public static void main(String[] args) throws InterruptedException {
  9. JFrame fr = new JFrame("os");
  10. JButton b1, b2;
  11. JLabel l1, l2, l3, l4, l5;
  12. JProgressBar pb1, pb2, pb3, pb4;
  13. fr.setVisible(true);
  14. fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  15. fr.setLocationRelativeTo(null);
  16. fr.setResizable(false);
  17. fr.setLayout(new FlowLayout());
  18. fr.setSize(300, 200);
  19. b1 = new JButton("Start");
  20. b2 = new JButton("Задание");
  21. b2.addActionListener(new click());
  22. l1 = new JLabel("FCFS ");
  23. l2 = new JLabel("Пр1=07сек");
  24. l3 = new JLabel("Пр2=18сек");
  25. l4 = new JLabel("Пр3=26сек");
  26. l5 = new JLabel("Пр4=39сек");
  27. pb1 = new JProgressBar();
  28. pb2 = new JProgressBar();
  29. pb3 = new JProgressBar();
  30. pb4 = new JProgressBar();
  31. fr.add(pb1);
  32. fr.add(b1);
  33. fr.add(b2);
  34. fr.add(l1);
  35. fr.add(pb1);
  36. fr.add(l2);
  37. fr.add(pb2);
  38. fr.add(l3);
  39. fr.add(pb3);
  40. fr.add(l4);
  41. fr.add(pb4);
  42. fr.add(l5);
  43. pb1.setMinimum(0);
  44. pb1.setMaximum(7);
  45. pb1.setStringPainted(true);
  46. pb2.setMinimum(0);
  47. pb2.setMaximum(18);
  48. pb2.setStringPainted(true);
  49. pb3.setMinimum(0);
  50. pb3.setMaximum(26);
  51. pb3.setStringPainted(true);
  52. pb4.setMinimum(0);
  53. pb4.setMaximum(39);
  54. pb4.setStringPainted(true);
  55.  
  56. for (int i = pb1.getMinimum(); i <= pb1.getMaximum(); i++) {
  57. Thread.sleep(1000);
  58. pb1.setValue(i);
  59. }
  60. for (int k = pb2.getMinimum(); k <= pb2.getMaximum(); k++) {
  61. Thread.sleep(1000);
  62. pb2.setValue(k);
  63. }
  64. for (int l = pb3.getMinimum(); l <= pb3.getMaximum(); l++) {
  65. Thread.sleep(1000);
  66. pb3.setValue(l);
  67. }
  68. for (int j = pb4.getMinimum(); j <= pb4.getMaximum(); j++) {
  69. Thread.sleep(1000);
  70. pb4.setValue(j);
  71. }
  72. }
  73. }
Не могу добавить слушатель на кнопки, подскажите пожалуйста. Не Java FX, а обычная

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

textual
Листинг программы
  1. package swing.button;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.*;
  6.  
  7.  
  8. public class Main {
  9.  
  10.  
  11.     public static void main(String[] args) throws InterruptedException {
  12.  
  13.         JFrame fr = new JFrame("os");
  14.         JButton b1, b2;
  15.         JLabel l1, l2, l3, l4, l5;
  16.         JProgressBar pb1, pb2, pb3, pb4;
  17.         fr.setVisible(true);
  18.         fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  19.         fr.setLocationRelativeTo(null);
  20.         fr.setResizable(false);
  21.         fr.setLayout(new FlowLayout());
  22.         fr.setSize(300, 200);
  23.         b1 = new JButton("Start");
  24.         b2 = new JButton("Задание");
  25.         l1 = new JLabel("FCFS ");
  26.         l2 = new JLabel("Пр1=07сек");
  27.         l3 = new JLabel("Пр2=18сек");
  28.         l4 = new JLabel("Пр3=26сек");
  29.         l5 = new JLabel("Пр4=39сек");
  30.         pb1 = new JProgressBar();
  31.         pb2 = new JProgressBar();
  32.         pb3 = new JProgressBar();
  33.         pb4 = new JProgressBar();
  34.         fr.add(pb1);
  35.         fr.add(b1);
  36.         fr.add(b2);
  37.         fr.add(l1);
  38.         fr.add(pb1);
  39.         fr.add(l2);
  40.         fr.add(pb2);
  41.         fr.add(l3);
  42.         fr.add(pb3);
  43.         fr.add(l4);
  44.         fr.add(pb4);
  45.         fr.add(l5);
  46.         pb1.setMinimum(0);
  47.         pb1.setMaximum(7);
  48.         pb1.setStringPainted(true);
  49.         pb2.setMinimum(0);
  50.         pb2.setMaximum(18);
  51.         pb2.setStringPainted(true);
  52.         pb3.setMinimum(0);
  53.         pb3.setMaximum(26);
  54.         pb3.setStringPainted(true);
  55.         pb4.setMinimum(0);
  56.         pb4.setMaximum(39);
  57.         pb4.setStringPainted(true);
  58.  
  59.  
  60.         new Thread(new Runnable() {
  61.             @Override
  62.             public void run() {
  63.                 try {
  64.                 for (int i = pb1.getMinimum(); i <= pb1.getMaximum(); i++) {
  65.                         Thread.sleep(1000);
  66.                     pb1.setValue(i);
  67.                 }
  68.  
  69.                 for (int k = pb2.getMinimum(); k <= pb2.getMaximum(); k++) {
  70.                     Thread.sleep(1000);
  71.                     pb2.setValue(k);
  72.                 }
  73.  
  74.                 for (int l = pb3.getMinimum(); l <= pb3.getMaximum(); l++) {
  75.                     Thread.sleep(1000);
  76.                     pb3.setValue(l);
  77.                 }
  78.  
  79.                 for (int j = pb4.getMinimum(); j <= pb4.getMaximum(); j++) {
  80.                     Thread.sleep(1000);
  81.                     pb4.setValue(j);
  82.                 }
  83.                 } catch (InterruptedException e) {
  84.                     e.printStackTrace();
  85.                 }
  86.  
  87.             }
  88.         }).start();
  89.         b1.addActionListener(new ActionListener() {
  90.             @Override
  91.             public void actionPerformed(ActionEvent e) {
  92.                 pb1.setValue( 0);
  93.  
  94.             }
  95.         });
  96.         b2.addActionListener(new ActionListener() {
  97.             @Override
  98.             public void actionPerformed(ActionEvent e) {
  99.                 pb2.setValue( 0);
  100.  
  101.             }
  102.         });
  103.  
  104.     }
  105. }

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут