Woher bekomme ich die Information ob ein JIternalFrame geschlossen wird?

squeaker

Erfahrenes Mitglied
Hi

Ich möchte einen Zähler zurücksetzen wenn ein JInternalFrame geschlossen wird. Wie erfahre ich, wenn jemand auf den close-Button drückt?
 
Hallo!

Weshalb willst du denn unbedingt alles selber machen?
Code:
package de.tutorials;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;

public class Test09 extends JFrame {

	private JButton btnCnt;

	private JInternalFrame frm0, frm1;

	private JDesktopPane pane;

	public Test09() {
		super("Test09");
		setDefaultCloseOperation(EXIT_ON_CLOSE);

		pane = new JDesktopPane();
		pane.setPreferredSize(new Dimension(640, 480));
		frm0 = new JInternalFrame("Frm0", true, true, true, true);
		frm1 = new JInternalFrame("Frm1", true, true, true, true);
		//Hier aktion beim Schließen implementieren ...
		frm0.addInternalFrameListener(new InternalFrameAdapter() { 
			public void internalFrameClosing(InternalFrameEvent e) {
				//...
			}
		});
		frm0.setSize(240, 180);
		frm0.setLocation(0, 0);
		frm1.setSize(240, 180);
		frm1.setLocation(200, 100);
		pane.add(frm0);
		pane.add(frm1);
		frm0.setVisible(true);
		frm1.setVisible(true);

		btnCnt = new JButton("iFrameCnt");
		btnCnt.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JInternalFrame[] frms = pane.getAllFrames();
				System.out.println("Anzahl noch sichtbarer Frames: " + frms.length);
			}
		});

		getContentPane().add(pane, BorderLayout.CENTER);
		getContentPane().add(btnCnt, BorderLayout.SOUTH);

		pack();
		setVisible(true);
	}

	public static void main(String[] args) {
		new Test09();
	}
}

Gruß Tom
 
Zurück