Introdução ao JSplitPane

JSplitPane é um componente Java Swing que ajuda a dividir dois componentes com base na implementação de L&F (Look and Feel). Também ajuda a redimensionar os componentes até um tamanho mínimo. No entanto, se o tamanho mínimo dos componentes for maior que o JSplitPane, o redimensionamento não poderá ser feito. Atualmente, dois tipos, como o painel dividido vertical e horizontal, são baseados no alinhamento da esquerda para a direita e de cima para baixo, respectivamente. Sintaxe, construtor e métodos de JSplitPane serão discutidos em detalhes nas seções a seguir.

Sintaxe:

public class JSplitPane extends JComponent implements Accessible

Aqui, ele estende a classe JComponent e implementa a interface Acessível.

Construtores JSplitPane

JSplitpane tem diferentes construtores com e sem argumentos. Eles são:

  • JSplitPane (): um novo painel dividido é criado da esquerda para a direita (horizontal) usando 2 botões para componentes.
  • JSplitPane (orientação int): Um novo painel dividido é criado com a orientação especificada.
  • JSplitPane (orientação int, redesenho booleano): Um novo painel dividido é criado com uma orientação especificada e um estilo de redesenho.
  • JSplitPane (orientação int, redesenho booleano, Component leftcmp, Component rightcmp): Um novo painel dividido é criado com orientação especificada e estilo de redesenho, componente esquerdo e direito.
  • JSplitPane (orientação int, Componente leftcmp, Component rightcmp): um novo painel dividido é criado com orientação especificada, componente esquerdo e direito.

Os 30 principais métodos do JSplitPane

JSplitPane oferece métodos que executam várias operações. Eles são abordados na tabela abaixo:

Método Explicação
getOrientation ()A orientação do SplitPane será retornada.
getUIClassID ()O nome da classe L&F (aparência e aparência) que renderiza o componente será retornado.
getUI ()(Aparência) O objeto L&F que renderiza o componente será retornado.
getDividerSize ()O tamanho do divisor será retornado.
getAccessibleContext ()AccessibleContext vinculado ao SplitPane será retornado
setUI (SplitPaneUI u)(Aparência) O objeto L&F que renderiza o componente será definido.
paramString ()A representação do JSplitPane estará no formato de sequência
getMinimumDividerLocation ().A localização menor ou mínima do divisor será devolvida.
remove (componente cmp)O componente filho da vidraça será removido.
getDividerLocation ()O último valor que é passado para setDividerLocation será retornado.
isOneTouchExpandable ()A propriedade "oneTouchExpandable" será retornada.
setRightComponent (componente cmp)O componente direito do Splitpane será definido como cmp
isContinuousLayout ()A propriedade "continuaçãoLayout" será retornada
getMaximumDividerLocation ()A localização maior ou máxima do divisor será retornada.
setLeftComponent (componente cmp)O componente esquerdo do Splitpane será definido como cmp
setBottomComponent (componente cmp)O componente inferior do Splitpane será definido como cmp
setDividerSize (int s)O tamanho do divisor será definido.
setOneTouchExpandable (st booleano)A propriedade "oneTouchExpandable" será definida.
setResizeWeight (w duplo)Quando o tamanho da vidraça é alterado, esse método ajuda a especificar como o espaço extra deve ser distribuído.
setLastDividerLocation (int loc)

A última localização do divisor será definida.
setTopComponent (Component CMP)

O componente superior do Splitpane será definido no parâmetro CMP.
setDividerLocation (int loc)A localização do divisor será definida.
remove (int index)O componente no índice mencionado será removido
setContinuousLayout (booleano n)O valor da propriedade "layout contínuo" será definido. Para exibir novamente os componentes filhos continuamente, esse valor deve ser verdadeiro
getTopComponent ()

O componente superior do Splitpane será retornado usando este método.
setDividerLocation (local duplo)

A localização do divisor será definida como uma porcentagem do tamanho do SplitPane.
getRightComponent ()O componente direito do Splitpane será retornado.
getBottomComponent ()O componente inferior do Splitpane será retornado.
addImpl (componente CMP, objeto cob, int in)O componente mencionado será adicionado ao SplitPane.

Programa para Implementar JSplitPane

Agora, vamos ver um programa de amostra que demonstra 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 );
)
)

Resultado:

Aqui, uma saída é gerada com 3 painéis contendo botões diferentes. No Painel1, cinco botões N, E, W, S e C estão presentes, enquanto no painel 2 estão presentes cinco botões A, B, C, D e E. Na parte inferior, também está presente um painel de informações especiais.

Conclusão

JSplitPane é um componente Swing em Java que ajuda a dividir os componentes com base na implementação Look and Feel (L&F). Além disso, os componentes também podem ser redimensionados para um tamanho mínimo. Neste documento, construtores, métodos e programa de amostra para JSplitPanel são discutidos em detalhes.

Artigo recomendado

Este é um guia para JSplitPane. Aqui discutimos os construtores JSplitPane e os 30 principais métodos com sua descrição e sua implementação de código. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Construtor em Java com tipos
  2. Construtor em Python com vantagens
  3. Gerador de número aleatório em C
  4. Variáveis ​​em C com suas regras | Os 5 principais tipos
  5. JPanel em Java (funções usadas)
  6. Exemplos de JFrame em Java
  7. Gerador de número aleatório no Matlab
  8. Gerador de número aleatório em c #
  9. JLabel em Java
  10. Flowlayout em Java