Java tutorial
import java.awt.Color; import java.awt.DisplayMode; import java.awt.Frame; import java.awt.Graphics; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.Rectangle; import java.awt.image.BufferStrategy; public class FullScreen { private static int counter = 0; private static final int MAX = 50; private static DisplayMode MODES[] = new DisplayMode[] { new DisplayMode(640, 480, 32, 0), new DisplayMode(640, 480, 16, 0), new DisplayMode(640, 480, 8, 0) }; private static DisplayMode getBestDisplayMode(GraphicsDevice device) { for (int x = 0, xn = MODES.length; x < xn; x++) { DisplayMode[] modes = device.getDisplayModes(); for (int i = 0, in = modes.length; i < in; i++) { if (modes[i].getWidth() == MODES[x].getWidth() && modes[i].getHeight() == MODES[x].getHeight() && modes[i].getBitDepth() == MODES[x].getBitDepth()) { return MODES[x]; } } } return null; } public static void main(String args[]) { GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice graphicsDevice = graphicsEnvironment.getDefaultScreenDevice(); DisplayMode originalDisplayMode = graphicsDevice.getDisplayMode(); try { Frame frame = new Frame(); frame.setUndecorated(true); frame.setIgnoreRepaint(true); graphicsDevice.setFullScreenWindow(frame); if (graphicsDevice.isDisplayChangeSupported()) { graphicsDevice.setDisplayMode(getBestDisplayMode(graphicsDevice)); } frame.createBufferStrategy(2); // 2 buffers Rectangle bounds = frame.getBounds(); BufferStrategy bufferStrategy = frame.getBufferStrategy(); while (!done()) { Graphics g = null; try { g = bufferStrategy.getDrawGraphics(); if ((counter <= 2)) { // 2 buffers g.setColor(Color.CYAN); g.fillRect(0, 0, bounds.width, bounds.height); } g.setColor(Color.RED); // redraw prior line, too, since 2 buffers if (counter != 1) { g.drawLine(counter - 1, (counter - 1) * 5, bounds.width, bounds.height); } g.drawLine(counter, counter * 5, bounds.width, bounds.height); bufferStrategy.show(); } finally { if (g != null) { g.dispose(); } } try { Thread.sleep(250); } catch (InterruptedException ignored) { } } } finally { graphicsDevice.setDisplayMode(originalDisplayMode); graphicsDevice.setFullScreenWindow(null); } System.exit(0); } private static boolean done() { return (counter++ == MAX); } }