Fenster beim Vergörßern immer quadratsich

Underfaker

Bekanntes Mitglied
Hallo zusammen,

gibt es eine nicht allzu aufwendige Möglichkeit dafür zu sorgen, dass ein JDialog beim größer ziehen, direkt(1) nur quadratisch vergrößert wird?
Also ich könnte einen Listener anbindet der aktiv wird, wenn das Fenster vergrößert wurde, allerdings geschieht das auch erst hinterher und sähe entsprechend unschön aus.

Hat jemand eine Idee?

Beste Grüße und Danke im Voraus
 

javampir

Bekanntes Mitglied
hi,
probiers mal mit

Java:
YourDialog.addComponentListener(new ComponentAdapter() 
{
    public void componentResized(ComponentEvent e)
    {
        YourDialog.width = YourDialog.height;
    }
});

habs jetzt nicht ausprobiert...
javampir
 

Underfaker

Bekanntes Mitglied
Ja das ist die listener Variante die ich schon implementiert habe (so ähnlich), jetzt springt er ordentlich beim größer Ziehen.
Naja ggf. muss es so bleiben.
 

Underfaker

Bekanntes Mitglied
Hat jemand eine Idee warum das nicht klappt?
(Ich ziehe es größer aber sehr häufig springt das fenster wieder auf die alte Größe)

Java:
dialog.addComponentListener(new ComponentListener() {
					
					@Override
					public void componentShown(ComponentEvent e) {
						// TODO Auto-generated method stub
						
					}
					
					@Override
					public void componentResized(ComponentEvent e) {
						
						int x = dialog.getWidth();
						int y = dialog.getHeight();
						System.out.println(x);
						System.out.println(y);
						if (x > width && y > height)
							if (x > y)
								dialog.setSize(x, x);
							else
								dialog.setSize(y, y);
						else
							if (x > width || y > height)
								if (x > width)
									dialog.setSize(x, x);
								else
									dialog.setSize(y, y);
							else
								if (x < width && y < height)
									if (x < y)
										dialog.setSize(x, x);
									else
										dialog.setSize(y, y);
								else
									if (x < width || y < height)
										if (x < width)
											dialog.setSize(x, x);
										else
											dialog.setSize(y, y);
						if(y > Toolkit.getDefaultToolkit().getScreenSize().getHeight())
							dialog.setSize((int)Toolkit.getDefaultToolkit().getScreenSize().getHeight(),(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight());
						width = dialog.getWidth();
						height = dialog.getHeight();
					}
 

Joose

Top Contributor
Häufig oder immer?

Ansonsten kapsel den "dialog.setSize(int, int)" aufruf in einer kleinen Methode, dann kannst du dort besser logausgaben hinzufügen + anpassen (und auch debuggen). Wird das Event vielleicht unbeabsichtigt durch eine andere Komponente ausgelöst oder einen falschen Klick?

Anmerkung: Bei einem einzigen if kann man es noch ertragen, aber gewöhne dir an bei mehreren if/else Verschachtelungen Klammer {} zu verwenden! Liest sich schneller und einfacher
 

Underfaker

Bekanntes Mitglied
Welchen Vorteil hier eine ausgegliederte Methode bringt weiß ich nicht.

Ich denke es ist etwas das ich nciht beeinflussen kann, habe ausgelesen dass bspw. am Ende des Listener die Höhe und Breite 900 ist und beim nächsten Start des Listener ist die Höhe wie durch Zauberhand auf 500 (Startgröße) gesunken.
1. ist es nirgends implementiert, dass er diesen Sprung machen kann.
2. Passiert in der Zwischenzeit nichts außer, dass der Listener aufgerufen wird.
 

Joose

Top Contributor
Der Vorteil diese Zeile auszuglieder liegt darin das du an einer(!!!) Stelle eine Log ausgabe hinzufügen kannst um zu prüfen auf welche Size der Dialog gesetzt wird! Auch beim Debuggen tust du dir einfacher wenn du nur einen Breakpoint setzen musst statt 9 (wie es den bisheriger Code verlangen würde).

Klar es ist kein großer Unterschied ob ich setSize direkt aufrufe oder den Aufruf in einer Methode kapsel, aber sowas hilft bei einer Fehlersuche sehr!

Wie gesagt kapsel den Aufruf, füge Log Ausgaben hinzu und versuche zu debuggen.
Kontrolliere ob inner Komponenten vielleicht die Ursache sein könnten (mindest Größe oder ähnliches)
 

Underfaker

Bekanntes Mitglied
Ich denke es macht keinen Unterschied, ich gebe einfach am Ende des Listeners die Größe aus.

Und: Ich habe mir die Größe ausgegeben, am Ende 900 beim nächsten Start des Listeners 500, was anderes passiert von meiner Seite (dazwischen) nicht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
D JavaFX (WebStart) Graues Fenster beim Start AWT, Swing, JavaFX & SWT 4
I Swing Beim Fenster das kleine Symbol(ICS) ändern AWT, Swing, JavaFX & SWT 3
M Swing Warum öffnen sich beim Zeichnen mit Swing plötzlich zwei Fenster? AWT, Swing, JavaFX & SWT 5
S Seitenverhältnis behalten beim Fenster resizen AWT, Swing, JavaFX & SWT 2
M Problem beim Einsatz von ScrollPane (Fenster spielt verrückt AWT, Swing, JavaFX & SWT 2
C Fenster rücken beim Drucken in den Hintergrund AWT, Swing, JavaFX & SWT 6
P JDialog fenster friert ein beim drücken von button AWT, Swing, JavaFX & SWT 4
R Eingabeaufforderungs-Fenster beim start schliessen - wie? AWT, Swing, JavaFX & SWT 6
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
G Zuletzt aktives Fenster, vor dem aktuell aktiven AWT, Swing, JavaFX & SWT 2
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
S Swing Alles beenden bei Fenster mit Scroll-Balken AWT, Swing, JavaFX & SWT 6
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
S Swing Fenster State Machine AWT, Swing, JavaFX & SWT 1
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
P JavaFX Fenster lädt nicht mehr AWT, Swing, JavaFX & SWT 4
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
K Fenster welches den Sieger anzeigt AWT, Swing, JavaFX & SWT 5
O JavaFX Fenster scließen AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
B AWT Fenster schließt nicht AWT, Swing, JavaFX & SWT 2
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
windl Transparentes / halbtransparentes Fenster AWT, Swing, JavaFX & SWT 1
K Fenster mittig im Vollbildschirm - ok, aber ... AWT, Swing, JavaFX & SWT 2
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
J Button vergrößert sich bei Fenster resize AWT, Swing, JavaFX & SWT 22
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
A Swing Textübergabe innerhalb der Anwendung in unterschiedlichen Fenster AWT, Swing, JavaFX & SWT 8
wolfgang63 JavaFX Animation, Kreise im vorgegebem Takt durchs Fenster laufen lassen AWT, Swing, JavaFX & SWT 3
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
Z Fenster leer, wenn ich ein JTextField erzeuge AWT, Swing, JavaFX & SWT 3
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
X Swing 2 Fenster (1 im Vordergrund) AWT, Swing, JavaFX & SWT 6
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
T JavaFX ControlsFX-Notification öffnet nicht wenn kein JavaFX-Fenster offen. AWT, Swing, JavaFX & SWT 1
E JavaFX JavaFX Fenster nicht schließen AWT, Swing, JavaFX & SWT 4
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
thet1983 offne Fenster gemeinsam schließen AWT, Swing, JavaFX & SWT 8
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
Z JSlider im Modalen-Fenster AWT, Swing, JavaFX & SWT 0
Tort-E JavaFX Fenster nachladen AWT, Swing, JavaFX & SWT 1
V Fenster in einem Fenster anordnen AWT, Swing, JavaFX & SWT 7
I Zwei Fenster nebeneinander anzeigen AWT, Swing, JavaFX & SWT 2
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
E Alles in einem Fenster AWT, Swing, JavaFX & SWT 5
A Fenster erstellen AWT, Swing, JavaFX & SWT 2
K JavaFX Vorschau Bereich/Fenster einer bestehenden Group AWT, Swing, JavaFX & SWT 3
G Scrollbar für das Fenster einfügen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben