¡Hola! Como proveedor de Swing Screen, últimamente he recibido muchas preguntas sobre cómo agregar un panel dividido a un Swing Screen. Entonces, pensé en preparar esta publicación de blog para compartir algunos consejos y trucos que he aprendido a lo largo de los años.
Lo primero es lo primero, hablemos sobre qué es un panel dividido y por qué es posible que desee agregar uno a su pantalla Swing. Un panel dividido es un componente de GUI que divide un contenedor en dos o más subcontenedores de tamaño variable. Esto puede resultar muy útil en una pantalla giratoria porque le permite mostrar varios tipos de información una al lado de la otra y los usuarios pueden ajustar el tamaño de cada sección según sus necesidades.
Paso 1: comprender los conceptos básicos de los paneles divididos en Java Swing
En Java Swing, elJSplitPaneLa clase se utiliza para crear paneles divididos. Tiene dos orientaciones principales:HORIZONTAL_SPLITyVERTICAL_SPLIT. ElHORIZONTAL_SPLITdivide el contenedor horizontalmente, mientras que elVERTICAL_SPLITlo divide verticalmente.
Aquí hay un ejemplo de código simple para crear un panel dividido horizontal básico:
importar javax.swing.*; importar java.awt.*; clase pública SimpleSplitPaneExample { public static void main(String[] args) { marco JFrame = nuevo JFrame("Panel dividido simple"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); marco.setSize(800, 600); JPanel leftPanel = nuevo JPanel(); leftPanel.setBackground(Color.RED); JPanel panel derecho = nuevo JPanel(); rightPanel.setBackground(Color.AZUL); JSplitPane splitPane = nuevo JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel, rightPanel); marco.add(panel dividido); frame.setVisible (verdadero); } }
En este ejemplo, creamos unMarco J, dosJPanelobjetos (uno rojo y otro azul), y luego unJSplitPaneque divide el marco horizontalmente entre estos dos paneles.
Paso 2: agregar componentes al panel dividido
Ahora que ya tienes configurado el panel dividido básico, probablemente querrás agregarle algunos componentes útiles. Para una pantalla giratoria, esto podría ser cosas como áreas de texto, tablas o incluso otros componentes personalizados.
Digamos que desea agregar un área de texto al panel izquierdo y una tabla al panel derecho. Así es como puedes modificar el código anterior:
importar javax.swing.*; importar java.awt.*; importar javax.swing.table.DefaultTableModel; clase pública SplitPaneWithComponents { public static void main(String[] args) { marco JFrame = new JFrame("Panel dividido con componentes"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); marco.setSize(800, 600); JTextArea textArea = new JTextArea("Esta es un área de texto."); JScrollPane textScrollPane = nuevo JScrollPane(textArea); String[] columnNames = {"Nombre", "Edad"}; Objeto[][] datos = { {"John", 25}, {"Jane", 30} }; Modelo DefaultTableModel = nuevo DefaultTableModel (datos, nombres de columnas); Tabla JTable = nueva JTable (modelo); JScrollPane tableScrollPane = nuevo JScrollPane(tabla); JSplitPane splitPane = nuevo JSplitPane(JSplitPane.HORIZONTAL_SPLIT, textScrollPane, tableScrollPane); marco.add(panel dividido); frame.setVisible (verdadero); } }
En este código actualizado, hemos agregado unJTextAreahacia el lado izquierdo y unJTableal lado derecho. Ambos están envueltos enJScrollPanepara permitir el desplazamiento si el contenido es demasiado grande.
Paso 3: personalizar el panel dividido
Puede personalizar el panel dividido de varias maneras. Por ejemplo, puede establecer la ubicación inicial del divisor, que determina dónde se coloca inicialmente la división entre los dos subcontenedores. También puede cambiar la apariencia del divisor.
Así es como puede configurar la ubicación inicial del divisor:


splitPane.setDividerLocation(200);
Esto establecerá la posición inicial del divisor a 200 píxeles desde la izquierda (en un panel dividido horizontal).
Para cambiar el aspecto del divisor, puede utilizar elestablecerTamañoDivisormétodo:
splitPane.setDividerSize(10);
Esto hace que el divisor tenga 10 píxeles de ancho.
Paso 4: Integrar el panel dividido en su pantalla giratoria
Si es proveedor de Swing Screen, es probable que tenga una aplicación Swing Screen existente. Integrar el panel dividido en esta aplicación puede requerir un poco más de trabajo. Deberá asegurarse de que el panel dividido se ajuste bien al diseño existente y que todos los componentes interactúen correctamente.
Una cosa a tener en cuenta es que es posible que deba controlar eventos relacionados con el panel dividido. Por ejemplo, cuando el usuario cambia el tamaño del divisor, es posible que desee actualizar otras partes de la pantalla en consecuencia. Puedes hacer esto agregando unPropiedadChangeListeneral panel dividido:
splitPane.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY, e -> { // Agregue código aquí para manejar el cambio de ubicación del divisor System.out.println("¡La ubicación del divisor cambió!"); });
Equipos relacionados para su proyecto
Si está trabajando en un proyecto que involucra procesamiento de papel o industrias relacionadas, es posible que le interesen algunos de los equipos que podemos recomendar. Echa un vistazo a nuestroMáquina rasgadora de papel,Digestor de tambor rotatorio, yLavadora de virutas. Estas son excelentes herramientas para diversas tareas relacionadas con el papel.
Conclusión
Agregar un panel dividido a una pantalla Swing puede mejorar enormemente su funcionalidad y experiencia de usuario. Si sigue estos pasos, puede crear un panel dividido que se ajuste a sus necesidades específicas. Si usted es un desarrollador que busca mejorar sus aplicaciones Swing o el propietario de un negocio que necesita una pantalla Swing personalizada, estamos aquí para ayudarlo.
Si está interesado en comprar una pantalla abatible o tiene alguna pregunta sobre cómo agregar un panel dividido, no dude en comunicarse. Nos encantaría conversar y discutir cómo podemos satisfacer sus necesidades.
Referencias
- "Java efectivo" de Joshua Bloch
- "Java Swing: una guía para principiantes" por Herbert Schildt
