Zum Inhalt springen

JFrame in die Mitte des Bildschirms


Silvie

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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. :D

Aber das hab ich dann leider erst gemerkt, als ich den Beitrag schon gepostet hatte...:floet:

Gruß Silvie

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...