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:
- Constructor en Java con tipos
- Constructor en Python con Ventajas
- Generador de números aleatorios en C
- Variables en C con sus reglas | Los 5 tipos principales
- JPanel en Java (funciones utilizadas)
- Ejemplos de JFrame en Java
- Generador de números aleatorios en Matlab
- Generador de números aleatorios en C #
- JLabel en Java
- Flowlayout en Java