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 -
- Construtor em Java com tipos
- Construtor em Python com vantagens
- Gerador de número aleatório em C
- Variáveis em C com suas regras | Os 5 principais tipos
- JPanel em Java (funções usadas)
- Exemplos de JFrame em Java
- Gerador de número aleatório no Matlab
- Gerador de número aleatório em c #
- JLabel em Java
- Flowlayout em Java