import java.awt.*;
import java.awt.image.BufferStrategy;
import java.lang.reflect.InvocationTargetException;
import javax.swing.JFrame;
public class Fullscreen {
private GraphicsDevice device;
public Fullscreen() {
GraphicsEnvironment enviroment = GraphicsEnvironment
.getLocalGraphicsEnvironment();
device = enviroment.getDefaultScreenDevice();
}
public void setFullscreen() {
final JFrame frame = new JFrame();
frame.setUndecorated(true);
frame.setIgnoreRepaint(true);
frame.setResizable(false);
// den JFrame als Vollbild setzen
device.setFullScreenWindow(frame);
try {
EventQueue.invokeAndWait(new Runnable() {
public void run() {
frame.createBufferStrategy(2);
}
});
} catch (InterruptedException ex) {
} catch (InvocationTargetException ex) {
}
}
public DisplayMode getCurrentDisplayMode() {
return device.getDisplayMode();
}
public void setDisplayMode(int width, int height, int color, int freq) {
if (width != 0 && height != 0 && color != 0 && freq != 0
&& device.isDisplayChangeSupported()) {
try {
device.setDisplayMode(new DisplayMode(width, height, color,
freq));
} catch (IllegalArgumentException ex) {
}
getFullscreenFrame().setSize(width, height);
}
}
public JFrame getFullscreenFrame() {
return (JFrame) device.getFullScreenWindow();
}
/**
* gibt aktuellen Framebuffer aus
*/
public Graphics2D getGraphics() {
// Daten von Vollbild holen
Window fenster = getFullscreenFrame();
if (fenster != null) {
BufferStrategy bufferStrategie = fenster.getBufferStrategy();
// die nächsten FrameBufferGrafiken holen
return (Graphics2D) bufferStrategie.getDrawGraphics();
} else {
return null;
}
}
/**
* aktualisiert das gesamte Fenster
*/
public void redraw() {
Window fenster = getFullscreenFrame();
if (fenster != null) {
BufferStrategy bufferStrategie = fenster.getBufferStrategy();
if (!bufferStrategie.contentsLost())
bufferStrategie.show();
}
// Syncronisation wird für
// manche Betriebssysteme gebraucht,
// damit alles funktioniert
Toolkit.getDefaultToolkit().sync();
}
/**
* Das Vollbild wird verlassen und der Bildschirm wird wieder hergestellt
*/
public void removeFullscreen() {
Window fenster = getFullscreenFrame();
if (fenster != null)
fenster.dispose();
device.setFullScreenWindow(null);
}
}// class end
[/Java]
Quelle:[url=http://www.soulfly-design.de/index.php?s=fullscreen]SoulflyHome.com Personal-Page of Soulfly alias Ingo Mller[/url]