Добавление кнопки - Java
Формулировка задачи:
Добрый вечер!
Разбираю пример из книги по добавлению кнопки, программа работает по следующему принципе: создаём кнопку, нажимаем, и открывается новое окно, если закрываем одно из окон, то закроются и остальные.
Но проблема в том, что мой компилятор жалуется на строку 26 - Что же тут не так?
Благодарю за помощь
ActionListener listener = new ActionListener (){
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.Random; class MyFrame extends JFrame { public static int count = 0; //счётчик окон MyFrame (int a, int b){ count++; setTitle("Окно с кнопкой: "+count); MyPanel panel = new MyPanel(); setSize(300, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocation(a,b); //положение окна add (panel); //добавление панели setVisible(true); //Отображение окна } } class MyPanel extends JPanel{ //класс панели MyPanel(){ JButton button = new JButton ("Создать новое окно"); add(button); //добавление кнопки на панель button.addActionListener(listener); //регистрация обработчика } ActionListener listener = new ActionListener (){ //обработчик кнопки - объект анонимного класса public void actionPerfomed(ActionEvent event){ Random rnd = new Random(); MyFrame frame = new MyFrame (rnd.nextInt(800), rnd.nextInt(500)); } }; } class FrameAndButton { public static void main(String[] args) { MyFrame frame = new MyFrame (100,100); } }
Решение задачи: «Добавление кнопки»
textual
Листинг программы
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.Random; class MyFrame extends JFrame { public static int count = 0; //счётчик окон MyFrame (int a, int b){ count++; setTitle("Окно с кнопкой: "+count); MyPanel panel = new MyPanel(); setSize(300, 200); setDefaultCloseOperation(EXIT_ON_CLOSE); setLocation(a,b); //положение окна add (panel); //добавление панели setVisible(true); //Отображение окна } } class MyPanel extends JPanel{ //класс панели MyPanel(){ JButton button = new JButton ("Создать новое окно"); add(button); //добавление кнопки на панель button.addActionListener(listener); //регистрация обработчика } ActionListener listener = new ActionListener (){ //обработчик кнопки - объект анонимного класса @Override public void actionPerformed(ActionEvent e) { Random rnd = new Random(); MyFrame frame = new MyFrame (rnd.nextInt(800), rnd.nextInt(500)); } }; } class FrameAndButton { public static void main(String[] args) { MyFrame frame = new MyFrame (100,100); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д