Добавление кнопки - 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);
}
}