Wahre nutzbare Bildschirmgröße und richtig zentiert.

Status des Themas:
Es sind keine weiteren Antworten möglich.

Diskutiere Wahre nutzbare Bildschirmgröße und richtig zentiert. im Codeschnipsel u. Projekte Forum; Hallo, schon oft bin ich Netz auf die Problematik gestossen: Taskleiste ist im Weg... oder die Zentrierung funktionert nicht 100%ig bei allen...

  1. DocMcFly
    DocMcFly Neues Mitglied
    Hallo,

    schon oft bin ich Netz auf die Problematik gestossen: Taskleiste ist im Weg... oder die Zentrierung funktionert nicht 100%ig bei allen System.

    Vielleicht ist das auch etwas kleinlich und man könnte 30Pixel* Taskleiste bei 864Pixel Bildschirmhöhe vernachlässigen. Ich fand das aber eher störend. In meiner Anwendung kann man die Bildschirmgröße prozentual einstellen. Dann aber bitte zur sichtbaren Fläche und nicht zur Bildschirmgröße, sonst muss man unnötig in der Höhe 95% einstellen, nur weil die Taskleiste die Statuszeile überdeckt.

    Hier ist jedenfalls ein Codeschnipsel, der hilft die richtige Größe zu berechnen:

    Code (Java):
        // Bildschirmgröße ein guter Ausgangswert
        Dimension _screenDimension = Toolkit.getDefaultToolkit().getScreenSize();

        // Hier kommt im Netz selten gefundene Zeile: Das sichtbare Rechteck!
        Rectangle _maxBounds = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
       
        // Jetzt kann man die Ränder berechnen...
        Insets _screenInsets =
          new Insets((int)_maxBounds.getY(), (int)_maxBounds.getX(), (int)(_screenDimension.getHeight() -
                                                                           _maxBounds.getY() - _maxBounds.getHeight()),
                     (int)(_screenDimension.getWidth() - _maxBounds.getWidth() - _maxBounds.getX()));

        // ... und die Dimensionen der sichtbaren Bildschirmoberfläche.
        Dimension _screenDimensionView =
          new Dimension((int)(_screenDimension.getWidth() - _screenInsets.right - _screenInsets.left),
                        (int)(_screenDimension.getHeight() - _screenInsets.top - _screenInsets.bottom));
       
        // nun ist ein Fenster mit exakter 75%iger Breite und Höhe und richtig zentiert in greifbarer Nähe:
        new JFrame("Test"){
          {
              this.setSize( (int) (_screenDimensionView.getWidth() *.75 ),  (int) (_screenDimensionView.getHeight() *.75 )  );
              this.setLocation((int)((_screenDimensionView.getWidth() - _widthPixels) / 2) + _screenInsets.left,
                               (int)((_screenDimensionView.getHeight() - _heightPixels) / 2) + _screenInsets.top);
              this.setVisible(true);
          }
        }
     
    Gruß Clemens

    *) Die Taskleiste muss auch nicht immer unten sein. Sie kann auch rechts, links oder oben sein... dann kann sie auch von System zu System in der Breite/Höhe varieren.
     
  2. Vielleicht hilft dir das kostenlose Training weiter --> (hier klicken)
  3. The_S
    The_S Aktives Mitglied
    Sehr nett :) . Hab ich schon öffters gebraucht, war aber bis jetzt immer zu faul mich selbst darum zu kümmern ;) .
     
  4. RAP
    RAP Guest
    Danke,

    Code (Java):
    ...setSize(GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getSize())
    funktioniert wunderbar

    MfG RAP
     
  5. Eminent
    Eminent Neues Mitglied
    Auch von mir noch ein spätes Danke!!!

    Genau das was ich gerade brauche!!

    Gruß
    Eminent
     
  6. Patneu
    Patneu Neues Mitglied
    Dito. :toll:
     
  7. Schau dir jetzt hier den Kurs an und lerne Java zu programmieren: --> Hier klicken, um mehr zu erfahren (Klick)
Die Seite wird geladen...

Wahre nutzbare Bildschirmgröße und richtig zentiert. - Ähnliche Themen

KeyListener funktioniert nicht während Timer läuft
KeyListener funktioniert nicht während Timer läuft im Forum Spiele- und Multimedia-Programmierung
Absoluter Fokus während drag Event
Absoluter Fokus während drag Event im Forum AWT, Swing, JavaFX & SWT
JavaFX - Während AudioRecording keine Text eingabe TextField möglich
JavaFX - Während AudioRecording keine Text eingabe TextField möglich im Forum AWT, Swing, JavaFX & SWT
JProgressbar während actionListener updaten
JProgressbar während actionListener updaten im Forum AWT, Swing, JavaFX & SWT
Java Klasse auf Tomcat während der Laufzeit austauschen
Java Klasse auf Tomcat während der Laufzeit austauschen im Forum Allgemeine Java-Themen
Status des Themas:
Es sind keine weiteren Antworten möglich.
Thema: Wahre nutzbare Bildschirmgröße und richtig zentiert.