Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

405
Vistas
Java: ¿cómo centrar los componentes horizontalmente y apilarlos verticalmente?

Estoy escribiendo una aplicación que tomará información del usuario como el nombre, correo electrónico, contraseña. Para obtener la información del usuario, estoy usando JTextFields. Me gustaría tener todos los componentes en el centro de la pantalla vertical y horizontalmente, y también tener los componentes apilados uno tras otro de la siguiente manera: Diseño esperado

Como lo verías en un sitio web. Actualmente estoy usando un JPanel dentro de un JFrame, el JPanel tiene un BoxLayout con un BoxLayout.Y_AXIS. Aquí está mi código:

 public class RegisterLayout extends Layout { @Override public void init() { this.setBackground(Utilities.babyBlueish); this.setBorder(BorderFactory.createTitledBorder("Register Now!")); this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); } @Override public void addComponents() { JTextField fName = new JTextField("Enter Your Full Name"); fName = Utilities.designTextField(fName); JButton submit = new JButton("Submit"); submit = Utilities.designButton(submit); submit.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { } }); this.add(fName); this.add(submit); } }

Tanto init() como addComponents() se llaman cuando se agrega JPanel al panel de contenido de JFrame. "RegisterLayout extiende Layout" y "Layout extiende JPanel". Actualmente, con el código que tengo, mi programa se ve así: Diseño actual . Como puede ver, JTextField está descentrado con la pantalla horizontalmente y, en general, no está centrado verticalmente.

Si alguien pudiera ayudar, se lo agradecería. Si necesita más detalles, por favor hágamelo saber.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Hay varias formas de codificar este diseño. Esta es una forma.

Divida las secciones de la GUI en unidades lógicas, 'una columna de campos de texto', 'un área para controles de formulario', etc., luego proporcione un contenedor con un diseño adecuado para cada uno.

ingrese la descripción de la imagen aquí

En esta maqueta de GUI:

  • El área morada tiene un diseño de borde, con las dos áreas verdes que aparecen en las restricciones del centro y del final de la página.
  • La primera área verde en la parte superior sería un diseño de bolsa de cuadrícula, para centrar (horizontal y verticalmente) el ..
  • Diseño de cuadrícula de una sola columna de campos de texto, bordeado en naranja.
  • La segunda área con borde verde podría ser otro diseño de bolsa de cuadrícula, o si solo se necesitara un centrado horizontal, un diseño de flujo.

Se podrían aplicar bordes adecuados (por ejemplo, un borde vacío, que es invisible) a los contenedores para espacios en blanco.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda