¿Cuál es la mejor práctica para programar una interfaz de usuario en Java?

No estoy de acuerdo con varios aspectos de la respuesta de Kyle. Aquí está mi ejemplo, y explicaré mis cambios a continuación:

import javax.swing.JFrame; import javax.swing.JPanel; public class Frame1 extends JFrame { private JPanel pane = new JPanel(); public Frame1() { super("My Simple Frame"); setContentPane(pane); // Here, you can add content to the panel } public static void main(String[] args) { JFrame frame = new Frame1(); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); // optional: center on screen frame.setLocationRelativeTo(null); } } 

Cosas importantes a tener en cuenta:

  • Evite el posicionamiento absoluto siempre que sea posible. Swing utiliza administradores de diseño , que automáticamente dimensionan y posicionan sus componentes. Probablemente no debería llamar a setBounds en un panel de nivel superior, y rara vez en cualquier componente: setPreferredSize sería la llamada adecuada. Puede usar pack() para dimensionar y posicionar automáticamente los componentes.
  • Establezca su propio panel de contenido. Esto le permite asumir mucho más sobre el comportamiento del panel y, por lo tanto, del marco, y le brinda mucha más flexibilidad.
  • Construcción separada de la pantalla. El constructor de un marco debe diseñar el contenido del marco. No debe empaquetar ni mostrar el marco, y probablemente no debe establecer la operación de cierre predeterminada. Estos comportamientos deben reservarse para el método principal.

Y consejos generales de Java:

  • Importa solo lo que necesitas. No importe todo el paquete javax.swing si no lo necesita. (Pista: no lo haces)
  • Use los niveles de acceso apropiados. Los campos casi siempre deben ser privados. Los constructores a menudo deben ser públicos. Casi nunca debe usar el nivel de acceso predeterminado (sin modificador; “paquete privado”).

  import java.awt. *;
 import java.awt.event. *;
 import javax.swing. *;  // aviso javax
 clase pública Frame1 extiende JFrame
 {
   Panel de JPanel = nuevo JPanel ();
   Frame1 () // el método del constructor de marcos
   {
     super ("Mi marco simple");  setBounds (100,100,300,100);
     setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
     Contenedor con = this.getContentPane ();  // hereda el marco principal
     con.add (panel);  // agrega el panel al marco
     // personalizar el panel aquí
     // pane.add (someWidget);
     setVisible (verdadero);  // muestra este marco
   }
   public static void main (String args []) {new Frame1 ();}
 } 

Aquí hay un código de ejemplo para producir un marco básico para construir sobre una GUI de Java.

Fuente:
Una introducción a la programación Java GUI

Estoy a favor de construir la construcción de la interfaz de usuario con herramientas como NetBeans IDE. La codificación de la interfaz de usuario con código Java es solo una ingeniería excesiva para mí.

“… Estás aquí para enviar productos” – Ollie Rattue –

De todos modos, Netbeans proporciona una manera fácil de crear una interfaz de usuario y un control profundo sobre su código. Lo recomendaría si se está enfocando en construir el producto y no si está estudiando Java Swing básico.

Aquí está el proyecto que hice en la universidad usando Netbeans tiengtinh / Bamboo-Caro