package fullscreen;import javax.swing.*;import java.awt.*;import java.awt.event.*;/*** Kleine Spielerei zum Thema maximieren eines Anwendungsfensters.* Funktioniert nur unter Windows und dort nur unter den gängigen* Fenstereinstellungen (Höhe Titelleiste, Randdicke etc...)* IM JDK 1.4 ist dieses Problem gelöst.** Bei Fragen, email an: support@tasiorde** JDK-Version: mindestens 1.3.* Author: Thomas Tasior*/public class Maximizer{ /** * Maximiert das Fenster aFrame durch generischen Klick * der linken Maustaste. */ public static void maximize(JFrame aFrame) { maximize(aFrame, InputEvent.BUTTON1_MASK, 0); } /** * Maximiert das Fenster aFrame durch generischen Klick * auf einer der drei Maustasten: * InputEvent.BUTTON1_MASK => links * InputEvent.BUTTON2_MASK => mitte * InputEvent.BUTTON3_MASK => rechts * */ public static void maximize(JFrame aFrame, int pMouseButton) { maximize(aFrame, pMouseButton, 0); } /** * Die eigentliche Implementierung. * * Maximiert das Fenster aFrame durch generischen Klick * auf einer der drei Maustasten: * InputEvent.BUTTON1_MASK => links * InputEvent.BUTTON2_MASK => mitte * InputEvent.BUTTON3_MASK => rechts * * Zusätzlich kann noch eine Wartezeit bevor geklickt wird eingegeben werden. * diese Methode sollte nur zum Testen benutzt werden. * * @see java.awt.Robot * */ public static void maximize(JFrame aFrame, int aMouseButton, int aSleepTime) { //Aussenmasse des Frames holen Rectangle frameRect = aFrame.getBounds(); //Den für Java zur Verfügung stehenden Platz holen Point pRoot = aFrame.getRootPane().getLocation(); //Mauspositionen berechnen: Maus muss über dem Maximize Button positioniert werden. int mouseY = frameRect.y + (pRoot.y / 2) + (pRoot.x / 2); int mouseX = (int)(frameRect.x + frameRect.width - (pRoot.y * 1.5) + (pRoot.x / 2)); try { //Er klickt für uns... Robot robot = new Robot(); robot.mouseMove(mouseX, mouseY);//Maus positionieren try { Thread.sleep(aSleepTime);//nur zum testen... } catch (InterruptedException ex) { } robot.mousePress(aMouseButton);//Maus robot.mouseRelease(aMouseButton);//klicken //Anschliessend Maus in der Mitte des Bildschirms positionieren. Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); robot.mouseMove(screenSize.width / 2, screenSize.height / 2); } catch (AWTException ex) { //ex.printStackTrace(); System.out.println("AWTException"); } catch (SecurityException ex) { //ex.printStackTrace(); System.out.println("SecurityException"); } catch (AWTError ex) { //ex.printStackTrace(); System.out.println("AWTError"); } }}//Testklassepackage fullscreen;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class AppFrame extends JFrame{ public AppFrame() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,400,300); show(); Maximizer.maximize(this); } public static void main(String[] args) { new AppFrame(); }}