Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

JFrame in die Mitte des Bildschirms

Empfohlene Antworten

Veröffentlicht

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

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

Moinsen, ich nehm alles zurück,

es war wirklich ein Syntaxfehler,:rolleyes:

aber ich trau mich nicht den zuzugeben...:floet:

Danke,

Gruß Silvie

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.