Veröffentlicht 28. Januar 200421 j 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
28. Januar 200421 j 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
29. Januar 200421 j Moinsen, ich nehm alles zurück, es war wirklich ein Syntaxfehler, aber ich trau mich nicht den zuzugeben...:floet: Danke, Gruß Silvie
3. Februar 200421 j kannst du die Lösung bitte posten, hatte mal das selbe Problem und habs dann zeitmassig aufgegeben. THX.
3. Februar 200421 j 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
3. Februar 200421 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.