Saltar al contenido

Diseño Java Swing JFrame

Posterior a investigar con especialistas en el tema, programadores de varias ramas y maestros hemos dado con la solución al problema y la dejamos plasmada en este post.

Solución:

El diseño predeterminado en un JFrame es un BorderLayout. llamando al add método en un Container con tal diseño es equivalente a una llamada add(..., BorderLayout.CENTER). Cada una de las ubicaciones de los BorderLayout puede contener un solo elemento. Por lo tanto, hacer dos llamadas

mainframe.add(jb);
mainframe.add(link);

da como resultado un CENTRO que contiene el último componente que agregó. Si desea evitar esto, puede agregarlo a diferentes ubicaciones o usar otro administrador de diseño (por ejemplo, un FlowLayout) llamando JFrame#setLayout

En lugar de agregar componentes directamente al JFrame, use un JPanel como contenedor con el LayoutManager deseado.

Aquí puede encontrar varios tutoriales sobre administradores de diseño.

Básicamente, en Swing, el LayoutManager es responsable de diseñar los componentes secundarios (estableciendo su posición y su tamaño), por lo que cada componente contenedor que use dentro de su aplicación debe configurarse con el LayoutManager apropiado.

Agregue sus componentes a un JPanel y luego agregue ese panel al ContentPane de JFrame.

JFrame window = new JFrame();
JPanel mainframe = new JPanel();

window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setBounds(0,0,200,200);

JButton jb = new JButton();
jb.setText("Leech");

mainframe.add(jb);

JTextField link = new JTextField(50);
mainframe.add(link);

window.getContentPane().add(mainframe);
window.pack();
window.setVisible(true);

Si te gustó nuestro trabajo, tienes la habilidad dejar una división acerca de qué le añadirías a esta noticia.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *