Zdarzenie zamknięcia okna

0

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);
		
	}

	}
0

Klasa New_Cam dziedziczyła po JFrame ... problem w tym ze nie posiadala konstruktora tzn. w moim mniemaniu posiadała tylko że public void New_Caam() nie zauważylem tego public void, no i jeszcze literówka New_Caam()</code>, zamiasta<code> New_Cam(), w związku z tym konstruktor ten nie był wywoływany i oczywiscie obsluga zdarzenia też .... , za to wywoływał się konstruktor domyślny JFrame ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1