sono nuovo di Java e sicuramente chiedo una banalità.
Avrai la necessità di capire come determinare le dimensioni del titolo di una finestra interna JInternalFrame.
Ho scritto questo scheletro di codice e utilizzato insets per visualizzare le dimensioni dei bordi della finestra interna, ma questi, nel mio sistema operativo, appaiono tutte uguali a 5 pixel mentre il top me lo sarei aspettato pari alla dimensione della finestra, cioè almeno 25-30 pixel.
Qualcuno ha qualche idea ?
codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import javax.imageio.ImageIO;
import java.io.File;
public class Main implements Runnable {
private final Dimension PANEL_SIZE = new Dimension(200, 200);
public static void main(String...args) {
SwingUtilities.invokeLater(new Main());
}
public void run() {
/* Pannello del contenuto del frame interno */
JPanel firstPanel = new JPanel ( new FlowLayout());
firstPanel.setPreferredSize(PANEL_SIZE);
JDesktopPane desktop = new JDesktopPane ();
/* Frame interno che contiene il Panel */
JInternalFrame firstFrame = new JInternalFrame(
"Primo pannello", true, false, true);
firstFrame.setContentPane( firstPanel);
/* Aggiunge il frame interno al desktop */
desktop.add(firstFrame);
/* Assegna una dimensione al frame interno e li rende visibili */
firstFrame.pack();
firstFrame.setVisible(true);
/* Crea una finestra */
JFrame window = new JFrame();
/* apre la finestra sullo schermo */
window.add(desktop, BorderLayout.CENTER);
window.setSize(640, 480);
window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
window.setVisible(true);
/* ok, vediamo quanto valgono gli insets del frame interno */
System.out.println (
"\ntop="+firstFrame.getInsets().top +
"\nright="+firstFrame.getInsets().right +
"\nbottom="+firstFrame.getInsets().bottom +
"\nleft="+firstFrame.getInsets().left
);
}
}