Silvie Geschrieben 28. Januar 2004 Geschrieben 28. Januar 2004 Hallo da draußen, ich habe einen Frame, den ich in der Mitte des Bildschirms anzeigen möchte. Das sollte ja an sich gehen, wenn man im Konstruktor quasi den Frame bildet und dann bei setLocation vorher Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); anwendet und dann in den Klammern von setLocation() die Mitte errechnet. Ich hab das bei GalileoComputing gelesen, aber irgendwie will das bei mir nicht klappen. Gut, die bilden anfangs ein Objekt von JFrame und schreiben das noch vor die ganzen Methoden. Aber daran liegt das doch nicht, oder? Der Compiler sagt mir bei meiner Berechnung 'not a statement' Ich hoffe, es kann mir jemand helfen und es wird klar, was ich meine....:cool: Dankeschön, Gruß Silvie Zitieren
Jaraz Geschrieben 28. Januar 2004 Geschrieben 28. Januar 2004 Original geschrieben von Silvie Ich hoffe, es kann mir jemand helfen und es wird klar, was ich meine....:cool: Nein! not a statement = Syntaxfehler Ohne Codeausschnitt kann dir da keiner helfen. Gruß Jaraz Zitieren
Silvie Geschrieben 29. Januar 2004 Autor Geschrieben 29. Januar 2004 Moinsen, ich nehm alles zurück, es war wirklich ein Syntaxfehler, aber ich trau mich nicht den zuzugeben...:floet: Danke, Gruß Silvie Zitieren
Oortael Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 kannst du die Lösung bitte posten, hatte mal das selbe Problem und habs dann zeitmassig aufgegeben. THX. Zitieren
Morbid_Soul Geschrieben 3. Februar 2004 Geschrieben 3. Februar 2004 Moin, ist nicht Silvies Lösung, geht aber auch. Funktioniert zudem auch für Dialoge. Eventuell leichte Ungenauigkeiten aufgrund des blauen Balkens oben an den Fenstern. Aber dann kann man die Methode ja noch angleichen, indem man die entsprechende Komponente übergibt. public void centerWindow(Window window) { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = window.getSize(); if (frameSize.height > screenSize.height) { frameSize.height = screenSize.height; } if (frameSize.width > screenSize.width) { frameSize.width = screenSize.width; } window.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); } Gruß, Peter Zitieren
Silvie Geschrieben 3. Februar 2004 Autor Geschrieben 3. Februar 2004 Hi, genau die Lösung hatte ich auch, hatte bloß in dem Ausdruck window.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2); vorne die Klammer vergessen. D.h., ich hatte es aus GalileoComputing kopiert und DIE hatten die Klammer vergessen. Aber das hab ich dann leider erst gemerkt, als ich den Beitrag schon gepostet hatte...:floet: Gruß Silvie Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.