NetBeans - Desktop - Pełny ekran

0

Piszę aplikację wyświetlającą obrazy na pełnym ekranie.

Zainstalowałem sobie NetBeans i rozpocząłem projekt "Desktop Application".

Mam okienko z przyciskiem "Wyświetl", którego kliknięcie powoduje wywołanie drugiej formy, a ta druga forma ma zajmować cały ekran.

W Googlach znalazłem takie coś:
Disp to jest obiekt będący tą drugą formą, która ma zajmować ekran.

        Disp.setVisible(true);
        GraphicsDevice myDevice = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
        myDevice.setFullScreenWindow(Disp);

Jednak to nie do końca dobrze działa. Na ekranie pojawia się przycisk "Wyświetl z pierwszej formy", na formie jest położony jLabel do wyświetlania obrazków. Tej jLabel ma zajmować cały ekran, ale od góry jest margines szerokości paska tytułu, a od dołu i po bokach jest margines szerokości kilku pikseli.

Jakie są inne skutecznie sposoby wyświetlania pełnoekranowego?

0

Znalazłem i to wydaje się być dobre:

    public static void setFullScreen(JFrame frame, boolean fullScreen) {
  frame.dispose();
  frame.setResizable(!fullScreen);
  frame.setUndecorated(fullScreen);
  if (fullScreen) {
    frame.setLocation(0, 0);
    frame.setSize(java.awt.Toolkit.getDefaultToolkit().getScreenSize());
  }
  frame.setVisible(true);
  frame.repaint();
0

powiedz czy to ma być aplikacja korzystająca z 'full screena' w pełnym tych słów znaczeniu, czy po prostu okno o wymiarach ekranu (w tym label o wymiarach ekranu). W drugim przypadku wystarczyłoby

(...)
Disp.setLocation(0,0);
Disp.setSize(myDevice.getDisplayMode().getWidth(),myDevice.getDisplayMode().getHeight());
jLabel.setLocation(0,0);
jLabel.setSize(Disp.getWidth(), Disp.getHeight());
0
Billy napisał(a)

powiedz czy to ma być aplikacja korzystająca z 'full screena' w pełnym tych słów znaczeniu, czy po prostu okno o wymiarach ekranu (w tym label o wymiarach ekranu). W drugim przypadku wystarczyłoby

(...)
Disp.setLocation(0,0);
Disp.setSize(myDevice.getDisplayMode().getWidth(),myDevice.getDisplayMode().getHeight());
jLabel.setLocation(0,0);
jLabel.setSize(Disp.getWidth(), Disp.getHeight());

To ma być fullscreen z zasłonięciem paska zadań, tak, jak na przykład w czasie wyświetlania slajdów PowerPointa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1