Introducción a JSplitPane

JSplitPane es un componente Java Swing que ayuda a dividir dos componentes en función de la implementación de L&F (Look and Feel). También ayuda a cambiar el tamaño de los componentes incluso a un tamaño mínimo. Sin embargo, si el tamaño mínimo de los componentes es mayor que el JSplitPane, no se puede cambiar el tamaño. Actualmente, dos tipos, como el panel dividido vertical y horizontal, se basan en la alineación de izquierda a derecha y de arriba a abajo, respectivamente. La sintaxis, el constructor y los métodos de JSplitPane se analizarán en detalle en las siguientes secciones.

Sintaxis:

public class JSplitPane extends JComponent implements Accessible

Aquí, extiende la clase JComponent e implementa la interfaz Accesible.

Constructores JSplitPane

JSplitpane tiene diferentes constructores con y sin argumentos. Son:

  • JSplitPane (): se crea un nuevo panel dividido de izquierda a derecha (horizontal) utilizando 2 botones para los componentes.
  • JSplitPane (orientación int): se crea un nuevo panel dividido con la orientación especificada.
  • JSplitPane (orientación int, rediseño booleano): se crea un nuevo panel dividido con una orientación específica y un estilo de redibujado.
  • JSplitPane (orientación int, rediseño booleano, Componente leftcmp, Componente rightcmp): se crea un nuevo panel dividido con orientación y estilo de redibujo especificados, componentes izquierdo y derecho.
  • JSplitPane (orientación int, Componente leftcmp, Componente rightcmp): se crea un nuevo panel dividido con orientación especificada, componentes izquierdo y derecho.

Los 30 mejores métodos de JSplitPane

JSplitPane ofrece métodos que realizan varias operaciones. Se abordan en la siguiente tabla:

Método Explicación
getOrientation ()Se devolverá la orientación del SplitPane.
getUIClassID ()Se devolverá el nombre de la clase L&F (Look and Feel) que representa el componente.
getUI ()(Look and Feel) Se devolverá el objeto L&F que representa el componente.
getDividerSize ()Se devolverá el tamaño del divisor.
getAccessibleContext ()AccessibleContext vinculado con SplitPane será devuelto
setUI (SplitPaneUI u)(Look and Feel) Se establecerá el objeto L&F que representa el componente.
paramString ()La representación de JSplitPane estará en formato de cadena
getMinimumDividerLocation ().Se devolverá la ubicación más pequeña o mínima del divisor.
eliminar (componente cmp)Se eliminará el componente hijo del panel dividido.
getDividerLocation ()Se devolverá el último valor que se pasa a setDividerLocation.
isOneTouchExpandable ()Se devolverá la propiedad "oneTouchExpandable".
setRightComponent (componente cmp)El componente derecho de Splitpane se establecerá en cmp
isContinuousLayout ()Se devolverá la propiedad "continuo Diseño"
getMaximumDividerLocation ()Se devolverá la ubicación más grande o máxima del divisor.
setLeftComponent (componente cmp)El componente izquierdo de Splitpane se establecerá en cmp
setBottomComponent (componente cmp)El componente inferior de Splitpane se establecerá en cmp
setDividerSize (int s)Se establecerá el tamaño del divisor.
setOneTouchExpandable (boolean st)Se establecerá la propiedad "oneTouchExpandable".
setResizeWeight (doble w)Cuando el tamaño del panel dividido cambia, este método ayuda a especificar cómo se distribuirá el espacio extra.
setLastDividerLocation (int loc)

Se establecerá la última ubicación del divisor.
setTopComponent (Componente CMP)

El componente superior de Splitpane se establecerá en el parámetro CMP.
setDividerLocation (int loc)Se establecerá la ubicación del divisor.
eliminar (int index)El componente en el índice mencionado será eliminado
setContinuousLayout (boolean n)Se establecerá el valor de propiedad "diseño continuo". Para volver a mostrar continuamente los componentes secundarios, este valor debe ser verdadero
getTopComponent ()

El componente superior de Splitpane se devolverá utilizando este método.
setDividerLocation (doble loc)

La ubicación del divisor se establecerá como un porcentaje del tamaño del SplitPane.
getRightComponent ()Se devolverá el componente derecho de Splitpane.
getBottomComponent ()Se devolverá el componente inferior de Splitpane.
addImpl (componente CMP, Object cob, int in)El componente mencionado se agregará al SplitPane.

Programa para implementar JSplitPane

Ahora, veamos un programa de muestra que demuestra JSplitPane:

Código:

// Java program to demonstrate JSplitPane
import java.awt.*;
import javax.swing.*;
class JSplitPaneExample extends JFrame
(
//declare the Vertical Pane, Horizontal pane and Panels
private JSplitPane VerticalPane;
private JSplitPane HorizontalPane;
private JPanel P1;
private JPanel P2;
private JPanel P3;
Color cl=new Color(190, 190, 240);
//constructor of the class
public JSplitPaneExample()
(
setTitle( "Example to demonstrate JSplitPane" );
//setting the background color
setBackground( Color. orange );
//object of the panel
JPanel PanelObj = new JPanel();
//set borderlayout for the panel
PanelObj.setLayout( new BorderLayout() );
getContentPane().add( PanelObj );
// Create three different panels
P1Creation();
P2Creation();
P3Creation();
P1.setBackground(cl);
P2.setBackground(cl);
P3.setBackground(cl);
// Create vertical and horiontal splitter pane
VerticalPane = new JSplitPane( JSplitPane. VERTICAL_SPLIT );
PanelObj.add( VerticalPane, BorderLayout. CENTER );
HorizontalPane = new JSplitPane( JSplitPane. HORIZONTAL_SPLIT );
HorizontalPane.setLeftComponent( P1 );
HorizontalPane.setRightComponent( P2 );
VerticalPane.setLeftComponent( HorizontalPane );
VerticalPane.setRightComponent( P3 );
)
//create panel 1 with 5 buttons
public void P1Creation()
(
P1 = new JPanel();
P1.setLayout( new BorderLayout() );
// Add 5 button
P1.add( new JButton( "N" ), BorderLayout. NORTH );
P1.add( new JButton( "S" ), BorderLayout. SOUTH );
P1.add( new JButton( "E" ), BorderLayout. EAST );
P1.add( new JButton( "W" ), BorderLayout. WEST );
P1.add( new JButton( "C" ), BorderLayout. CENTER );
)
//create panel 2 with 3 buttons
public void P2Creation()
(
P2 = new JPanel();
P2.setLayout( new FlowLayout() );
P2.add( new JButton( "Button A" ) );
P2.add( new JButton( "Button B" ) );
P2.add( new JButton( "Button C" ) );
P2.add( new JButton( "Button D" ) );
P2.add( new JButton( "Button E" ) );
)
//create panel 3 with 1 buttons
public void P3Creation()
(
P3 = new JPanel();
//set borderlayout
P3.setLayout( new BorderLayout() );
//set preferred size
P3.setPreferredSize( new Dimension( 400, 100 ) );
//set the minimum size
P3.setMinimumSize( new Dimension( 100, 50 ) );
P3.add( new JLabel( "Special information: " ), BorderLayout. NORTH );
P3.add( new JTextArea(), BorderLayout. CENTER );
)
public static void main( String args() )
(
// Create an object of the class
JSplitPaneExample obj = new JSplitPaneExample();
//call pack method that helps the subcomponents of preferred size
obj.pack();
//shows the window
obj.setVisible( true );
)
)

Salida:

Aquí, se genera una salida con 3 paneles que contienen diferentes botones. En el Panel1, cinco botones N, E, W, S y C están presentes, mientras que en el panel 2, cinco botones A, B, C, D y E están presentes. En la parte inferior, también está presente un panel para información especial.

Conclusión

JSplitPane es un componente Swing en Java que ayuda a dividir los componentes en función de la implementación Look and Feel (L&F). Además, los componentes también pueden redimensionarse a un tamaño mínimo. En este documento, los constructores, métodos y programas de muestra para JSplitPanel se discuten en detalle.

Artículo recomendado

Esta es una guía para JSplitPane. Aquí discutimos los constructores JSplitPane y los 30 métodos principales con su descripción junto con su implementación de Código. También puede consultar nuestros otros artículos sugeridos para obtener más información:

  1. Constructor en Java con tipos
  2. Constructor en Python con Ventajas
  3. Generador de números aleatorios en C
  4. Variables en C con sus reglas | Los 5 tipos principales
  5. JPanel en Java (funciones utilizadas)
  6. Ejemplos de JFrame en Java
  7. Generador de números aleatorios en Matlab
  8. Generador de números aleatorios en C #
  9. JLabel en Java
  10. Flowlayout en Java