Red de conocimiento del abogados - Preguntas y respuestas sobre conocimientos de patentes - Solicitud de asesoramiento: Cómo utilizar el diseño GridBagLayout en Java

Solicitud de asesoramiento: Cómo utilizar el diseño GridBagLayout en Java

¿Cómo puedes usar GridBagLayout en esta imagen? Para el JPanel de la izquierda, puedes usar BoxLayout o Borderlayout. Lo mismo ocurre con el botón en la esquina inferior derecha. para que el campo de texto quede cubierto.

Dame el código de GridBagLayout y descúbrelo tú mismo

import java.awt.GridBagConstraints;

import java.awt.GridBagLayout;

importar java.awt.Insets;

importar javax.swing.JButton;

importar javax.swing.JFrame;

importar javax.swing. JTextField;

@SuppressWarnings("serial")

clase pública GridBagLayoutTest extiende JFrame {

public GridBagLayoutTest(){

setLayout( new GridBagLayout ());

restricciones GridBagConstraints = new GridBagConstraints();

restricciones.insets = new Insets(5,5,5,5);//arriba,izquierda, abajo, derecha en sentido contrario a las agujas del reloj

JButton b = new JButton("One");

/*

* Cuando el tamaño del formulario cambia, agregue espacio adicional Rellenar las celdas de la cuadrícula

* pesox es la dirección horizontal, peso es la dirección vertical

* El valor es 0.0~1.0, cuanto mayor es el valor, más espacio se asigna

*/

restricciones.weightx = 1.0;

restricciones.weighty = 1.0;

restricciones.gridx = 0;

restricciones .gridy = 0;

restricciones.gridwidth = 2;

agregar(b,constraints);

b = new JButton("Dos" );

constraints.gridy++;

agregar(b,constraints);

b = new JButton("Tres");

restricciones. > restricciones .gridwidth = 1;

restricciones.gridheight = 2;

agregar(b,constraints);

b = nuevo JButton("Cuatro") ;

restricciones.anchor = GridBagConstraints.CENTER;

restricciones.gridx = 3;

restricciones.gridheight = 1;

restricciones .gridwidth = 2;

agregar(b,constraints);

b =

new JButton("Cinco");

constraints.gridy = 1;

constraints.gridwidth = 2;

add(b,constraints); p>

JTextField texto = nuevo JTextField(40);

restricciones.gridx = 0;

restricciones.gridy = 2;

/ /Usar REMAINDER puede hacer que el componente se extienda infinitamente hasta el borde

constraints.gridwidth = GridBagConstraints.REMAINDER;

constraints.gridheight = 1;

constraints.weighty = 0.0;

/*

* Si queda espacio en la celda donde se encuentra el componente, el componente llenará la celda consigo mismo

* Cuando se asignan pesox y peso El ancla es válida solo cuando se establece el valor

* Los valores posibles son

* NINGUNO valores predeterminados

* VERTICAL

* HORIZONTAL

* AMBOS

*/

constraints.fill = GridBagConstraints.HORIZONTAL;

add(texto , restricciones);

pack ();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String [] args){

//new GridBagLayoutTest();

new A();

}

}

/*

* atributo de anclaje, coloca el componente en una dirección fija de la celda

* Cuando el relleno es efectivo horizontalmente, OESTE y ESTE se usan para el anclaje Inválido

* Cuando el relleno es válido verticalmente, NORTE y SUR no son válidos para el anclaje

* El anclaje solo es válido cuando se han asignado pesox y peso valores

*/

@SuppressWarnings("serial")

clase A extiende JFrame {

public A(){

setLayout(new GridBagLayout());

GridBagConstraints c = new GridBagConstraints();

c.insets = new Insets(5,5,5,5) ;

c.gridx = 0;

c.gridy = 0;

c.gridwidth = 1;

c.gridheight = 1;

c.weightx = 1.0;

c.weighty = 1.0;

c.anchor = GridBagConstraints.NORTH;

J

Botón b = nuevo JButton("N");

add(b,c);

b = nuevo JButton("E");

c .gridx = 1;

c.gridy = 0;

c.anchor = GridBagConstraints.EAST;

agregar(b,c);

b = nuevo JButton("S");

c.gridx = 1;

c.gridy = 1;

c.anchor = GridBagConstraints.SOUTH;

add(b,c);

b = new JButton("W");

c.fill = GridBagConstraints.VERTICAL ;

c.gridx = 0;

c.gridy = 1;

c.anchor = GridBagConstraints.WEST;

agregar (b,c);

pack();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

}