Swing: conjunto de JFrame área de contenido tamaño

Estoy tratando de hacer un JFrame con un utilizable del área de contenido de exactamente 500×500. Si hago esto…

public MyFrame() {
    super("Hello, world!");
    setSize(500,500);
}

… Me sale una ventana cuyo tamaño completo es de 500×500, incluyendo la barra de título, etc., donde realmente necesito una ventana cuyo tamaño es algo así como 504×520 a cuenta por el borde de la ventana y la barra de título. ¿Cómo puedo lograr esto?

InformationsquelleAutor igul222 | 2010-03-15

3 Kommentare

  1. 26

    usted puede intentar un par de cosas:
    1 – un hack:

    public MyFrame(){
     JFrame temp = new JFrame;
     temp.pack();
     Insets insets = temp.getInsets();
     temp = null;
     this.setSize(new Dimension(insets.left + insets.right + 500,
                 insets.top + insets.bottom + 500));
     this.setVisible(true);
     this.setResizable(false);
    }

    2 – o
    Añadir un JPanel a la estructura del panel de contenido y
    Sólo tienes que configurar el preferido/tamaño mínimo
    de la JPanel a 500X500, llame pack()

    • 2 – es más portátil
  2. 25

    Simplemente uso:

    public MyFrame() {
        this.getContentPane().setPreferredSize(new Dimension(500, 500));
        this.pack();
    }

    No hay necesidad de un JPanel para estar ahí, si sólo se desea establecer el marco de su tamaño.

    • La solución más sencilla.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea