W Poniższym programie nie działa metoda przechwytywania zdarzenia:
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
licznik--;
System.out.println("ZO");
}
});
nie wiem jaki może być tego powód, dopiero zaczynam pisać w javie więc z góry dziękuję za wszelka pomoc
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//klasa glowna//
public class Video_conf extends JApplet{
private JButton N_window = new JButton("Nowe OKNO");
private ButtonListener bl = new ButtonListener();
public int licznik;
private JMenu[] Menu = {
new JMenu("Plik"),
new JMenu("Opcje"),
new JMenu("Pomoc")};
private JMenuItem[] items = {
new JMenuItem("Nowy"), new JMenuItem("Wyglad"),
new JMenuItem("Obsluga"), new JMenuItem("Koniec"),
new JMenuItem("Sprzet"), new JMenuItem("O Programie"),
};
//obsluga przycisku//
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
if(licznik<4){
New_Cam NW = new New_Cam();
NW.show();
licznik++;}
else JOptionPane.showMessageDialog(null,"Za dozo okien","Info",JOptionPane.INFORMATION_MESSAGE);
}
}
//formatka-glowna,komponenty//
public void init(){
for(int i = 0; i < items.length; i++) {
Menu[i % 3].add(items[i]);}
JMenuBar mb = new JMenuBar();
for(int i = 0; i < Menu.length; i++)
mb.add(Menu[i]);
setJMenuBar(mb);
Container formatka = getContentPane();
formatka.setLayout(new FlowLayout());
formatka.add(N_window);
N_window.addActionListener(bl);
}
//nowa formatka-new_cam//
public class New_Cam extends JFrame{
private int Location_x=0,Loction_y=0;
public void New_Caam(){
JPanel panel = new JPanel();
getContentPane().add(panel);
panel.setLayout( new FlowLayout() );
setSize(256,245);
setLocation(0,250);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
licznik--;
System.out.println("ZO");
}
});
}
} //klasa main//
public static void main(String[] args) {
JApplet applet = new Video_conf();
JFrame frame = new JFrame("Wideo konferencje V 0.1 Beta");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(applet);
frame.setSize(1024,250);
applet.init();
applet.start();
frame.setVisible(true);
}
}