Java WindowListener

tameck

Erfahrenes Mitglied
Hallo Zusammen,

ich such den WindowListener mit dem ich die größe nach dem verkleinern des Fensters festlegen kann. Das Fenster soll nach drücken des Verkleinern Button auf eine vorgegebene größe Verkleinern und das Fenster darf nicht noch weiter verkleinert werden.

Versteht ihr was ich meine ?

Gruß
 
Die Klasse java.awt.event.WindowAdapter erweitern und die Methode windowIconified(WindowEvent e) überschreiben.
Dann innerhalb dieser Methode dein Frame (oder was auch immer deine oberste Komponente ist) mit z.B. setPreferredSize(Dimension preferredSize) und setResizable(boolean resizable) wie gewünscht modifizieren :)..
 
Ich kann windowIconified nur dazu benutzen das Applet auf die Taskleiste zu minimieren. Ich will aber ne Methode für den Button zwischen Minimieren und Schliessen. Was tun ?

Grüße
 
Hallo,
probiere es vllt damit:

Java:
import java.awt.event.WindowEvent;
import java.awt.event.WindowStateListener;

import javax.swing.JFrame;

public class ResizeWindowTest extends JFrame {
	public ResizeWindowTest() {
		addWindowStateListener(new MyWindowStateListener());
		setSize(200, 200);
		setLocationRelativeTo(null);
		setVisible(true);
	}

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

class MyWindowStateListener implements WindowStateListener {
	public void windowStateChanged(WindowEvent e) {
		if (e.getOldState() == JFrame.MAXIMIZED_BOTH && e.getNewState() == JFrame.NORMAL)
			e.getComponent().setSize(200, 30);
	}
}

Das quadratische Fenster wird in ein längliches Fenster resizet, wenn es vorher maximiert wurde (JFrame.MAXIMIZED_BOTH) und dann wieder mittels "verkleinern"-Buttons in den normalen Zustand (JFrame.NORMAL) überführt wird.

Gruß
Tomek
 
super danke für deine antwort hat mir geholfen

Aber jetzt habe ich noch eine frage und zwar wenn das fenster sich verkleinert hat möchte ich es verbieten das es händisch noch kleiner zusammen geschoben werden kann... hat einer von euch da eine idee ?

gruss
 
Zurück