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 ); } }

Rispondi quotando