Добавление кнопки - Java

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

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

Добрый вечер! Разбираю пример из книги по добавлению кнопки, программа работает по следующему принципе: создаём кнопку, нажимаем, и открывается новое окно, если закрываем одно из окон, то закроются и остальные. Но проблема в том, что мой компилятор жалуется на строку 26 -
Листинг программы
  1. ActionListener listener = new ActionListener (){
Что же тут не так? Благодарю за помощь
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.util.Random;
  5. class MyFrame extends JFrame {
  6. public static int count = 0; //счётчик окон
  7. MyFrame (int a, int b){
  8. count++;
  9. setTitle("Окно с кнопкой: "+count);
  10. MyPanel panel = new MyPanel();
  11. setSize(300, 200);
  12. setDefaultCloseOperation(EXIT_ON_CLOSE);
  13. setLocation(a,b); //положение окна
  14. add (panel); //добавление панели
  15. setVisible(true); //Отображение окна
  16. }
  17. }
  18. class MyPanel extends JPanel{ //класс панели
  19. MyPanel(){
  20. JButton button = new JButton ("Создать новое окно");
  21. add(button); //добавление кнопки на панель
  22. button.addActionListener(listener); //регистрация обработчика
  23. }
  24. ActionListener listener = new ActionListener (){ //обработчик кнопки - объект анонимного класса
  25. public void actionPerfomed(ActionEvent event){
  26. Random rnd = new Random();
  27. MyFrame frame = new MyFrame (rnd.nextInt(800), rnd.nextInt(500));
  28. }
  29. };
  30. }
  31. class FrameAndButton {
  32. public static void main(String[] args) {
  33. MyFrame frame = new MyFrame (100,100);
  34. }
  35. }

Решение задачи: «Добавление кнопки»

textual
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4. import java.util.Random;
  5.  
  6. class MyFrame extends JFrame {
  7.     public static int count = 0; //счётчик окон
  8.     MyFrame (int a, int b){
  9.         count++;
  10.         setTitle("Окно с кнопкой: "+count);
  11.         MyPanel panel = new MyPanel();
  12.         setSize(300, 200);
  13.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  14.         setLocation(a,b); //положение окна
  15.         add (panel); //добавление панели
  16.         setVisible(true); //Отображение окна
  17.     }
  18. }
  19.  
  20. class MyPanel extends JPanel{ //класс панели
  21.     MyPanel(){
  22.         JButton button = new JButton ("Создать новое окно");
  23.         add(button); //добавление кнопки на панель
  24.         button.addActionListener(listener); //регистрация обработчика
  25.     }
  26.     ActionListener listener = new ActionListener (){ //обработчик кнопки - объект анонимного класса
  27.      
  28.  
  29.         @Override
  30.         public void actionPerformed(ActionEvent e) {
  31.            Random rnd = new Random();
  32.             MyFrame frame = new MyFrame (rnd.nextInt(800), rnd.nextInt(500));
  33.            
  34.         }
  35.     };
  36. }
  37.  
  38. class FrameAndButton {
  39.     public static void main(String[] args) {
  40.         MyFrame frame = new MyFrame (100,100);
  41.     }
  42. }

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


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

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

8   голосов , оценка 4 из 5

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

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

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