Hallo
ich hab ein Programm im Vollbildmodus und im Verlauf des Programms soll ein Dialogfeld (JOptionPane oder JDialog) erscheinen.
Leider ist das Dialogfeld nicht deutlich sichtbar und lässt sich nicht per Mouse bedienen (mit Tastatur schon)
Woran liegt das und wie kann ich es lösen?
hier ein kleines Beispiel:
ich hab ein Programm im Vollbildmodus und im Verlauf des Programms soll ein Dialogfeld (JOptionPane oder JDialog) erscheinen.
Leider ist das Dialogfeld nicht deutlich sichtbar und lässt sich nicht per Mouse bedienen (mit Tastatur schon)
Woran liegt das und wie kann ich es lösen?
hier ein kleines Beispiel:
Java:
import java.awt.Color;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class MyFrame extends JFrame implements ActionListener{
private JButton b_close, b_larger, b_smaller;
private GraphicsDevice device;
public MyFrame() throws HeadlessException {
this.setLayout(null);
this.setSize(500,500);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setUndecorated(true);
this.getContentPane().setBackground(Color.WHITE);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
device =ge.getDefaultScreenDevice();
if(device.isFullScreenSupported()){
device.setFullScreenWindow(this);
}
b_close = new JButton("Beenden");
b_close.setBounds(20, 20, 100, 30);
b_close.addActionListener(this);
b_larger = new JButton("FullScreen");
b_larger.setBounds(20, 70, 100, 30);
b_larger.addActionListener(this);
b_larger.setEnabled(false);
b_smaller = new JButton("Window");
b_smaller.setBounds(20, 120, 100, 30);
b_smaller.addActionListener(this);
this.add(b_close);
this.add(b_smaller);
this.add(b_larger);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()== b_close){
//Dieser Dialog ist nicht mit Maus beendbar und ist nicht richtig sichtbar
// weder mit "this" noch mit "null"
JOptionPane.showMessageDialog(null/*this*/, "Sicher");
device.setFullScreenWindow(null);
System.exit(0);
}
if(e.getSource()== b_larger){
b_larger.setEnabled(false);
b_smaller.setEnabled(true);
device.setFullScreenWindow(this);
}
if(e.getSource()== b_smaller){
b_larger.setEnabled(true);
b_smaller.setEnabled(false);
device.setFullScreenWindow(null);
}
}
}