Code:
/**
* Copyright by Christoph Heidelmann(C) Datum: 27.03.2008
*/
import java.awt.DisplayMode;
import java.awt.Frame;
import java.awt.Graphics2D;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.RenderingHints;
import java.awt.Window;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.image.BufferStrategy;
import java.awt.image.ImageObserver;
import java.awt.image.VolatileImage;
import java.util.HashMap;
import java.util.Map;
public class FullScreen {
Boolean doit = true;
GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice myDevice = graphicsEnvironment.getScreenDevices()[0];
Window myWindow;
DisplayMode newDisplayMode;
BufferStrategy strategy;
Frame mainFrame = null;
long StartZeit;
Map<RenderingHints.Key,Object> m = new HashMap<RenderingHints.Key, Object>();
String text = "";
public FullScreen()
{
final GraphicsConfiguration gc = myDevice.getDefaultConfiguration();
mainFrame = new Frame(gc);
mainFrame.setUndecorated(true);
mainFrame.setIgnoreRepaint(true);
mainFrame.setResizable(false);
mainFrame.enableInputMethods(false);
myDevice.setFullScreenWindow(mainFrame);
m.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
m.put(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_SPEED);
m.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_SPEED);
m.put(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_NEAREST_NEIGHBOR);
m.put(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
m.put(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_SPEED);
m.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
m.put(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
m.put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_OFF);
mainFrame.addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent arg0) {
}
public void keyReleased(KeyEvent arg0) {
}
public void keyTyped(KeyEvent arg0) {
}
});
int frame = 0;
StartZeit = System.currentTimeMillis();
long acttime = 0;
long fps = 0;
DisplayMode dm = new DisplayMode(1024, 768, 32, DisplayMode.REFRESH_RATE_UNKNOWN);
myDevice.setDisplayMode(dm);
Graphics2D backbuffer = (Graphics2D) mainFrame.getGraphics();
backbuffer.setRenderingHints(m);
Graphics2D g;
ImageObserver io = mainFrame;
while(true){
VolatileImage vi = mainFrame.createVolatileImage(1024,768);
g = (Graphics2D) vi.createGraphics();
g.setRenderingHints(m);
if(acttime>StartZeit+1000){
StartZeit = System.currentTimeMillis();
fps = frame;
frame = 0;
}
g.drawString("fps: " +fps , 20, 10);
frame++;
backbuffer.drawImage(vi, 0, 0, io);
acttime = System.currentTimeMillis();
}
}
public static void main(String[] args){
new FullScreen();
}
}