Bildschirm schwarz abdecken

Status
Nicht offen für weitere Antworten.

Felix

Bekanntes Mitglied
Hi,

ich möchte, dass nur mein Fenster sichtbar ist. Dazu hab ich ein JFrame erstellt:

Code:
public class BlackScreen extends JFrame{

	private boolean shown = false;
	
	public BlackScreen(Settings s){

	}
	
	public void showit(){
		this.setBackground(Color.black);
		this.setUndecorated(true);
		this.setResizable(false);
		GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().setFullScreenWindow(this);
		shown = true;
		
		setVisible(true);
	}
	
	public void closeit(){
		shown = false;
		
		setVisible(false);
	}
	
	public boolean shown(){
		return shown;
	}
}

In der Methode, die dann das Fenster anzeigen soll, ist folgender Code dafür zuständig:

Code:
blackscreen.showit();
this.setAlwaysOnTop(true);

Aber es kommt nur ein graues Fenster, und das auch nicht unter dem Fenster was zu sehen sein soll, sondern über dem Fenster, so dass es nicht mehr gesehen werden kann. Meine Idee war eigl, dass das schwarze Fenster im Hintergrund alle anderen Fenster abschottet und mein Fenster über dem schwarzen erscheint (deswegen AlwaysOnTop).

Was mache ich falsch??
Gruß
der Felix
 
Der Fullscreen exklusive mode setzt den Fenstermanager des BEtriebssystems sozusagen ausser kraft.
Im Fullscreen modus kannst du also keine weiteren Fenster/Dialoge anzeigen.
 
OK, jetzt hab ich die Zeile

Code:
GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().setFullScreenWindow(this);

durch

Code:
this.setSize(this.getToolkit().getScreenSize());

ersetzt, habe aber immer noch das selbe Problem...

Gruß
Felix
 
Code:
this.setPreferredSize(Toolkit.getDefaultToolkit().getScreenSize());
 
Code:
 public void showit(){
	  getContentPane().setBackground(Color.black);
      setUndecorated(true);
      setResizable(false);
      setPreferredSize(Toolkit.getDefaultToolkit().getScreenSize());
      System.out.println(getPreferredSize());
      shown = true;
      pack();
      setVisible(true);
   }

du hattest auch kein pack() drin.
 
Stimmt 😀 danke!
Wie kann ich jetzt mein eigentliches Fenster vor dieses schwarze Fenster schieben??

Gruß
der Felix
 
Damit habe ich es schon probiert...
Mein Code ist:
Code:
blackscreen.showit();
this.setAlwaysOnTop(true);
this.requestFocus();

Was mich verwirrt, ist, dass ich das andere Fenster auch mit [Alt] und [Tab] nicht auf das schwarze legen kann. Alle anderen Fenster (z.B.: Pidgin) kann ich mit der Tastenkobination darauf legen, wobei dann das andere Java-Fenster auch über dem schwarzen Fenster angezeigt wird. :bahnhof: :bahnhof:
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben