Wenn man in Java ein Frame (JFrame) mit einer festen Größe definiert, wird ein Teil dieser Größe für die Frame-Titelleiste benutzt. Dadurch reduziert sich der zur Verfügung stehende Innenbereich des Frames. Um diese Innengröße herauszufinden, hilft die Definition folgender Variablen:
int frameInnerWidth = (int) f.getContentPane().getBounds().getWidth();
int frameInnerHeight = (int) f.getContentPane().getBounds().getHeight();
Hinweis: In meinem Beispiel ist f ein Objekt von JFrame:
JFrame f = new JFrame(„Text der Titelleiste“);
f.setBounds(300, 200, 500, 400); // Positionierung (x, y, Breite, Höhe)
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f.setLayout(null);
f.setResizable(false);
f.setVisible(true);
Das Frame (f) hat in diesem Beispiel eine Breite von 500px und eine Höhe von 400px. Die tatsächliche Innenhöhe (frameInnerWidth) beträgt in meinem Fall aber nur 362 Pixel und die Innenbreite (frameInnerWidth) 492 Pixel. Ich betone extra „in meinem Fall“, da ich als Betriebssystem Windows XP benutze und die Titelleiste abhängig vom Betriebssystem ist (sofern nicht anders angegeben).