La forma de la posición/lay out de los componentes de JPanel?

Estoy tratando de posición 5 botones en un JFrame. Cuatro botones deben estar en la primera fila y la quinta, uno debe estar en la segunda fila. Pero aquí todos los botones que aparecen en una fila y la mitad de la quinta botón está fuera del panel. Por cierto, si yo uso frame.pack(); mi cuerpo se vuelven más pequeños de lo que me esperaba. No quiero cambiar el tamaño del marco. Quiero encontrar la quinta en la segunda fila.

import java.awt.GridBagLayout;
import java.awt.GridLayout;

import javax.swing.*;


public class test {

    public static void main(String[] args) {


        JFrame frame = new JFrame();
        frame.setBounds(100, 100, 529, 300);
        frame.getContentPane().setLayout(new GridLayout(1, 0, 0, 0));


        JPanel panel = new JPanel();
        frame.getContentPane().add(panel);
        panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));


        JButton btnNewButton_4 = new JButton("New button");
        panel.add(btnNewButton_4);

        JButton btnNewButton_3 = new JButton("New button");
        panel.add(btnNewButton_3);

        JButton btnNewButton = new JButton("New button");
        panel.add(btnNewButton);

        JButton btnNewButton_1 = new JButton("New button");
        panel.add(btnNewButton_1);

        JButton btnNewButton_2 = new JButton("New button");
        panel.add(btnNewButton_2);


        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    }

}
  • Por «localizar» lo que realmente significa «establecer la ubicación de» ellos? Cuando leí el título, pensé que estaba tratando de encontrar.
InformationsquelleAutor Bernard | 2013-04-18

4 Kommentare

  1. 3

    Cuatro botones deben estar en primera fila y en la quinta se debe tener en
    la segunda fila.

  2. 1

    Lo que yo hago es utilizar null como el administrador de diseño y colocar los componentes de mi auto. Un manager funciona bien si usted quiere que sus componentes para ser transmitida cuando la ventana cambia de tamaño o usted no sabe el tamaño final de applet etc

    Pero la mayoría del tiempo que no es cierto o matanza

    Lugar sólo tiene que colocar los componentes en una cuadrícula de píxeles utilizando
    setBounds(x,y,ancho,alto);
    Ejemplo:

        JFrame frame = new JFrame();
        frame.setBounds(100, 100, 529, 300);
        frame.getContentPane().setLayout(null);//over ride default
        Container c = frame.getContentPane();
    
    
        JButton btnNewButton_4 = new JButton("New button");
        c.add(btnNewButton_4);
        c.seBounds(4,10,40,25);
    
        JButton btnNewButton_3 = new JButton("New button 3");
        c.add(btnNewButton_3);
        c.seBounds(40,10,40,25);//...etc

    Muestras

    • Por favor no sugieren null diseño; el no puede cambiar de tamaño los componentes están casi seguros de que se ven mal en algunas plataformas, para ejemplo.
    • que es un ejemplo. se han utilizado con éxito en otros lugares. actualizado una muestra

Kommentieren Sie den Artikel

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

Pruebas en línea