AWT Vollbild öffnen und schließen

Status
Nicht offen für weitere Antworten.

tobi193

Aktives Mitglied
Hi,
ich bin jetzt schon lange am suchen und man findet viel im Netz zum Vollbild, aber irgendwie finde ich nichts zum öffnen und schließen des Vollbilds auch während der Laufzeit.
Ich habe eine Diashow die normal im Fenster geöffnet wird, über einen Button soll man das ganze im Vollbild anzeigen können. Das klappt auch wenn ich schon vorher die Leisten mit this.setUndecorated(true); ausblende.
Beim normalen Fenster ist das jedoch nicht sehr hübsch.

Das Vollbild kann ich dann auch öffnen, aber dann nicht mehr wieder schließen.
Wie kann ich es jederzeit öffnen und schließen ?

Boolean voll soll angeben ob Vollbild an (true) oder aus (false) ist.

Java:
public class Bildershow extends JFrame implements ActionListener, KeyListener{
  [..]
  Bildthread thread = new Bildthread(0, 5, liste);
  private boolean voll = false;

  public Bildershow(){
     super("Bildershow");
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     this.setUndecorated(true);
     this.add(menu, BorderLayout.NORTH);
     [..]
     this.setLocation(100,70);
     this.setSize(800,600);
     this.setResizable(true);
     this.setAlwaysOnTop(false);
     this.setVisible(true);
  }
  
  public void actionPerformed(ActionEvent ee){
    if(ee.getSource() == vollbild){
        GraphicsDevice device;
        device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
        if(!voll){
           menu.setVisible(false);
           device.setFullScreenWindow(this);
           device.setDisplayMode(new DisplayMode(1280,800,32, DisplayMode.REFRESH_RATE_UNKNOWN));
           voll = true;
        }else{
           device.setFullScreenWindow(null);
           this.setLocation(100,70);
           this.setSize(800,600);
           menu.setVisible(true);
           voll = false;
        }
     }
 }
Gruß tobi
 

KrokoDiehl

Top Contributor
Mir ist nicht ganz klar, ob es eine Designfrage oder eine Technische ist. Aber da du sagst, dass du das Vollbild gut anzeigen kannst, gehe ich mal von der Designfrage aus... ;)

Also, bei den meisten Programme, die etwas im Vollbild anzeigen läuft es so, dass man dieses über eine Tastenkombination / oder Einzeltaste (ESC ist dafür immer gut) und/oder über ein Kontextmenü beenden kann.

Für ein Kontextmenü müsstest du einen MouseListener implementieren (
Code:
mouseClicked()
) und für die Taste(nkombi) könntest du die InputMap des JFrames erweitern.
Für sowas bieten sich die javax.swing.Actions immer an.
 

tobi193

Aktives Mitglied
Ja, aber Eventtechnisch gibt es keine Probleme.
Das Problem liegt in der setUndecorated Methode.
Ich bin nun noch etwas weiter gekommen, fullscreen öffnen und schließen kann ich ohne Probleme, allerdings stört im Fullscreen die Titelleiste mitsamt Rahmen. Einfach weglassen geht aber auch nicht, das ist dann im Fenstermodus total blöd.

Java:
        if(!voll){
           menu.setVisible(false);
           device.setFullScreenWindow(this);
           DisplayMode fullscreen = new DisplayMode(1280,800,32, DisplayMode.REFRESH_RATE_UNKNOWN);
           device.setDisplayMode(fullscreen);
           voll = true;
        }else{
          menu.setVisible(true);
          device.setDisplayMode(oldDisplayMode);
          device.setFullScreenWindow(null);
          voll = false;
        }
 

KrokoDiehl

Top Contributor
Ach so, du meinst weil das setUndecorated() nur geht, wenn es noch nicht angezeigt wird? Hm... ja das ist knifflig. Ich habe hier ein kleines Testprogramm, dass vielleicht das macht, was du wünschst, aber ich fürchte die Lösung ist alles andere als sauber ;)

Java:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ActionMap;
import javax.swing.Box;
import javax.swing.InputMap;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;

public class DecoWin extends JFrame
{
	private boolean decorated = false;
	
	public DecoWin()
	{
		super("Lies mich!");
		
		JTextArea txt = new JTextArea("Hallo zusammen,\nich bin nur ein Dummy.");
		txt.setEditable(false);
		
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.add(txt, BorderLayout.CENTER);
		this.add(Box.createVerticalStrut(50), 	BorderLayout.NORTH);
		this.add(Box.createVerticalStrut(50), 	BorderLayout.SOUTH);
		this.add(Box.createHorizontalStrut(50), BorderLayout.EAST);
		this.add(Box.createHorizontalStrut(50), BorderLayout.WEST);
		this.pack();
		this.setLocationRelativeTo(null);
		
	    Action toggleDeco = new AbstractAction()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				DecoWin.this.decorated = ! DecoWin.this.decorated;
				DecoWin.this.dispose();
				DecoWin.this.setUndecorated(decorated);
				DecoWin.this.setVisible(true);
			}
		};
	    
	    ActionMap actMap = this.getRootPane().getActionMap();
	    InputMap  inpMap = this.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
	    
	    
	    inpMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_D, 0), "undecorate");
	    actMap.put("undecorate", toggleDeco);
	}
	
	public static void main(String[] args)
	{
		final DecoWin win = new DecoWin();
		SwingUtilities.invokeLater(new Runnable()
		{
			@Override
			public void run()
			{
				win.setVisible(true);
			}
		});
	}
}

Probier's mal aus, ob dir das was hilft ;)
Schönes WE.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JTabbedPane Vollbild wenn Tabwechsel AWT, Swing, JavaFX & SWT 1
V Anwendung im Vollbild zentrieren AWT, Swing, JavaFX & SWT 13
O Vollbild des Bildschirms AWT, Swing, JavaFX & SWT 1
S (Swing)Vollbild anzeigen unter Linux/Mac AWT, Swing, JavaFX & SWT 6
C AWT Vollbild Anwenung. Beste Möglichkeit? AWT, Swing, JavaFX & SWT 6
A AWT Width und height bei Vollbild AWT, Swing, JavaFX & SWT 2
G 2D-Grafik JFrame & JPanel im Vollbild AWT, Swing, JavaFX & SWT 2
C AWT Buttons verschwinden, wenn Fenster Vollbild gesetzt wird AWT, Swing, JavaFX & SWT 38
L Swing Skalierbares Vollbild AWT, Swing, JavaFX & SWT 2
C Vollbild-Bildschirmanpassung AWT, Swing, JavaFX & SWT 7
S JFrame Vollbild AWT, Swing, JavaFX & SWT 4
K Swing Vollbild AWT, Swing, JavaFX & SWT 5
D Vollbild ausgabe AWT, Swing, JavaFX & SWT 2
ModellbahnerTT Vollbild AWT, Swing, JavaFX & SWT 3
K "Fast-Vollbild-Modus"? Elegantere Möglichkeiten? AWT, Swing, JavaFX & SWT 16
G java.awt Vollbild beenden AWT, Swing, JavaFX & SWT 6
T JInternalFrame Vollbild Problem AWT, Swing, JavaFX & SWT 4
W Vollbild Frames neu schreiben AWT, Swing, JavaFX & SWT 2
P JFrame als Vollbild AWT, Swing, JavaFX & SWT 9
I Screen nur 1x öffnen können AWT, Swing, JavaFX & SWT 17
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
OSchriever Anwendung aus SystemTray öffnen AWT, Swing, JavaFX & SWT 29
A 2 Stages gleichzeitig öffnen AWT, Swing, JavaFX & SWT 2
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
A Ein browser Fenter prametrisiert öffnen AWT, Swing, JavaFX & SWT 15
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
J JavaFX Kamera im Programm öffnen AWT, Swing, JavaFX & SWT 6
D Mit Jmenu neue JFrame öffnen AWT, Swing, JavaFX & SWT 2
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
S Tastatur frame nur nur 1 mal öffnen AWT, Swing, JavaFX & SWT 1
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
T Swing Java-Frame bei Programmstart NICHT im Vordergrund öffnen AWT, Swing, JavaFX & SWT 2
L Swing JButton soll link öffnen AWT, Swing, JavaFX & SWT 1
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
G Swing JFrame öffnen bei Pidgin Benachrichtigung AWT, Swing, JavaFX & SWT 5
P JavaFX Project im Browser öffnen AWT, Swing, JavaFX & SWT 4
O Swing JDialog öffnen und dann warten bis er geschlossen wurde AWT, Swing, JavaFX & SWT 2
P Programm durch Dateiaufruf starten und Datei öffnen AWT, Swing, JavaFX & SWT 2
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
D Dateien öffnen AWT, Swing, JavaFX & SWT 16
S Swing txt Dateien öffnen mit JFilleChooser AWT, Swing, JavaFX & SWT 4
O Neuen JFrame öffnen und alten schließen AWT, Swing, JavaFX & SWT 7
D Swing DICOM Files öffnen, wie? AWT, Swing, JavaFX & SWT 5
T SWT SWTBot Test: Dialog soll sich öffnen,wenn button gedrückt AWT, Swing, JavaFX & SWT 3
G Datei öffnen Dialog modifizieren AWT, Swing, JavaFX & SWT 13
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
B VLC Player in JavaFX öffnen AWT, Swing, JavaFX & SWT 7
X Popup Menü nur bei besonderem Fall öffnen AWT, Swing, JavaFX & SWT 3
F JavaFX KeyListener zum Fenster öffnen/schließen AWT, Swing, JavaFX & SWT 9
VfL_Freak AWT Browser öffnen und schließen via java.awt.Desktop AWT, Swing, JavaFX & SWT 4
M JavaFX WebView lässt sich nur einmal öffnen AWT, Swing, JavaFX & SWT 2
achillesat SWT Browser öffnen durch Button click AWT, Swing, JavaFX & SWT 5
P Event Handling Listener beim öffnen von einem JPopupMenu AWT, Swing, JavaFX & SWT 3
M Datei in jar öffnen AWT, Swing, JavaFX & SWT 11
M Swing Warum öffnen sich beim Zeichnen mit Swing plötzlich zwei Fenster? AWT, Swing, JavaFX & SWT 5
P versch. JPanel Klassen über Menü öffnen AWT, Swing, JavaFX & SWT 12
J Swing Fenster lässt sich nach Schließung nicht wieder öffnen AWT, Swing, JavaFX & SWT 4
S JFrame sicher öffnen AWT, Swing, JavaFX & SWT 9
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
N Applet JButton soll html Datei aus einem Ordner öffnen AWT, Swing, JavaFX & SWT 2
E Fenster schließen und ein anderes öffnen AWT, Swing, JavaFX & SWT 9
R Swing Mit Swing eine throws Exception Methode öffnen AWT, Swing, JavaFX & SWT 3
N Swing FileFilter lässt JTree sich nicht öffnen AWT, Swing, JavaFX & SWT 2
J Swing Frame öffnen aus Frame mit JButton AWT, Swing, JavaFX & SWT 2
T SWT:Datei speichern / öffnen AWT, Swing, JavaFX & SWT 6
T speichern funktioniert,aber öffnen nicht AWT, Swing, JavaFX & SWT 2
J Mit Button neues Fenster öffnen AWT, Swing, JavaFX & SWT 17
J SWT Dialog in Dialog automatisch öffnen AWT, Swing, JavaFX & SWT 19
J Programm nur einmal öffnen AWT, Swing, JavaFX & SWT 3
J jme neues projekt öffnen AWT, Swing, JavaFX & SWT 4
L SWT Actionlistener Combobox öffnen AWT, Swing, JavaFX & SWT 4
X Swing JTable stets mit gleichem Inhalt öffnen AWT, Swing, JavaFX & SWT 3
E Applet Neuen Tab aus Applet öffnen AWT, Swing, JavaFX & SWT 3
C jComboBox in jTable ohne Klick öffnen AWT, Swing, JavaFX & SWT 4
C JComboBox Popup nicht öffnen AWT, Swing, JavaFX & SWT 4
T neues Fenster durch Button öffnen funktioniert nicht!! AWT, Swing, JavaFX & SWT 2
H Applet JApplet soll neues Tab im Browser öffnen AWT, Swing, JavaFX & SWT 2
J Fehler beim Gif Datei öffnen AWT, Swing, JavaFX & SWT 2
H Applet - Hilfedateien im Browser öffnen / eine Webseite laden AWT, Swing, JavaFX & SWT 6
N Swing außerhalb des Hauptframe Komponente/Frame öffnen AWT, Swing, JavaFX & SWT 2
O Login Dialog zweimal öffnen AWT, Swing, JavaFX & SWT 2
N Swing TreePath Datei öffnen AWT, Swing, JavaFX & SWT 7
B Datei öffnen Dialog AWT, Swing, JavaFX & SWT 9
W jar Datei öffnen AWT, Swing, JavaFX & SWT 4
P Firefox öffnen GUI AWT, Swing, JavaFX & SWT 8
Y JFrame in JFrame öffnen AWT, Swing, JavaFX & SWT 26
T Ordner öffnen nach Klick auf einen Button AWT, Swing, JavaFX & SWT 3
C AWT Über Pulldownmenü neue Javadatei öffnen AWT, Swing, JavaFX & SWT 7
hdi SWT Zwei mal Shell öffnen = Exception AWT, Swing, JavaFX & SWT 6
kodela FileChooser mit "absolutem" Root-Verzeichnis öffnen AWT, Swing, JavaFX & SWT 2
C Internetseite öffnen AWT, Swing, JavaFX & SWT 2
M Fenster nach minimierung zum tray wieder öffnen AWT, Swing, JavaFX & SWT 3
S Auswahlfenster: Datei beim Doppelklick öffnen AWT, Swing, JavaFX & SWT 8
D Swing Ein dahinterliegendes Fenster nach dem öffnen schließe AWT, Swing, JavaFX & SWT 15
R Fenster versetzt öffnen AWT, Swing, JavaFX & SWT 5
Z Swing Problem mit JDialog öffnen AWT, Swing, JavaFX & SWT 10
L JFileChooser braucht lang zum öffnen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben