Introduzione a JSplitPane
JSplitPane è un componente Java Swing che aiuta a dividere due componenti in base all'implementazione di L&F (Look and Feel). Aiuta anche a ridimensionare i componenti anche a una dimensione minima. Tuttavia, se la dimensione minima dei componenti è maggiore di JSplitPane, non è possibile eseguire il ridimensionamento. Due tipi come splitpane verticale e orizzontale sono attualmente basati rispettivamente sull'allineamento da sinistra a destra e dall'alto verso il basso. Sintassi, costruttore e metodi di JSplitPane saranno discussi in dettaglio nelle sezioni seguenti.
Sintassi:
public class JSplitPane extends JComponent implements Accessible
Qui estende la classe JComponent e implementa l'interfaccia accessibile.
Costruttori JSplitPane
JSplitpane ha diversi costruttori con e senza argomenti. Loro sono:
- JSplitPane (): un nuovo riquadro diviso viene creato da sinistra a destra (orizzontale) utilizzando 2 pulsanti per i componenti.
- JSplitPane (orientamento int): viene creato un nuovo riquadro diviso con l'orientamento specificato.
- JSplitPane (orientamento int, ridisegno booleano): viene creato un nuovo riquadro diviso con un orientamento e uno stile di ridisegno specificati.
- JSplitPane (orientamento int, redraw booleano, Component leftcmp, Component rightcmp): viene creato un nuovo riquadro diviso con l'orientamento e lo stile di ridisegno specificati, componente sinistro e destro.
- JSplitPane (int orient, Component leftcmp, Component rightcmp): viene creato un nuovo riquadro diviso con l'orientamento specificato, componente sinistro e destro.
I 30 metodi principali di JSplitPane
JSplitPane offre metodi che eseguono diverse operazioni. Sono indicati nella tabella seguente:
Metodo | Spiegazione |
getOrientation () | Verrà restituito l'orientamento di SplitPane. |
getUIClassID () | Verrà restituito il nome della classe L&F (Look and Feel) che esegue il rendering del componente. |
getUI () | (Aspetto) Verrà restituito l'oggetto L&F che esegue il rendering del componente. |
getDividerSize () | Le dimensioni del divisore verranno restituite. |
getAccessibleContext () | Verrà restituito AccessibleContext collegato con SplitPane |
setUI (SplitPaneUI u) | (Aspetto) Verrà impostato l'oggetto L&F che esegue il rendering del componente. |
paramString () | La rappresentazione di JSplitPane sarà in formato stringa |
getMinimumDividerLocation (). | La posizione minima o minima del divisore verrà restituita. |
rimuovi (Componente cmp) | Il componente figlio dallo splitpane verrà rimosso. |
getDividerLocation () | Verrà restituito l'ultimo valore passato a setDividerLocation. |
isOneTouchExpandable () | La proprietà "oneTouchExpandable" verrà restituita. |
setRightComponent (Component cmp) | Il componente destro di Splitpane sarà impostato su cmp |
isContinuousLayout () | La proprietà "continueLayout" verrà restituita |
getMaximumDividerLocation () | La posizione massima o massima del divisore verrà restituita. |
setLeftComponent (Component cmp) | Il componente sinistro di Splitpane verrà impostato su cmp |
setBottomComponent (Component cmp) | Il componente inferiore di Splitpane verrà impostato su cmp |
setDividerSize (int s) | Le dimensioni del divisore verranno impostate. |
setOneTouchExpandable (boolean st) | Verrà impostata la proprietà "oneTouchExpandable". |
setResizeWeight (double w) | Quando le dimensioni della splitpane cambiano, questo metodo aiuta a specificare come distribuire lo spazio extra hs. |
setLastDividerLocation (int loc) | L'ultima posizione del divisore verrà impostata. |
setTopComponent (Component CMP) | Il componente principale di Splitpane verrà impostato sul parametro CMP. |
setDividerLocation (int loc) | La posizione del divisore verrà impostata. |
rimuovi (indice int) | Il componente nell'indice menzionato verrà rimosso |
setContinuousLayout (boolean n) | Verrà impostato il valore "layout continuo" della proprietà. Per visualizzare di nuovo continuamente i componenti figlio, questo valore deve essere vero |
getTopComponent () | Il componente principale di Splitpane verrà restituito utilizzando questo metodo. |
setDividerLocation (double loc) | La posizione del divisore verrà impostata come percentuale della dimensione di SplitPane. |
getRightComponent () | Il componente giusto di Splitpane verrà restituito. |
getBottomComponent () | Il componente inferiore di Splitpane verrà restituito. |
addImpl (Component CMP, Object cob, int in) | Il componente menzionato verrà aggiunto a SplitPane. |
Programma per implementare JSplitPane
Ora, vediamo un programma di esempio che dimostra JSplitPane:
Codice:
// 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 );
)
)
Produzione:
Qui, viene generato un output con 3 pannelli contenenti diversi pulsanti. Nel Pannello 1 sono presenti cinque pulsanti N, E, W, S e C mentre nel pannello 2 sono presenti cinque pulsanti A, B, C, D ed E. Nella parte inferiore è presente anche un pannello per informazioni speciali.
Conclusione
JSplitPane è un componente Swing in Java che aiuta a dividere i componenti in base all'implementazione Look and Feel (L&F). Inoltre, i componenti possono anche essere ridimensionati ad una dimensione minima. In questo documento, i costruttori, i metodi e il programma di esempio per JSplitPanel sono discussi in dettaglio.
Articolo raccomandato
Questa è una guida a JSplitPane. Qui discutiamo dei costruttori JSplitPane e dei primi 30 metodi con la sua descrizione insieme all'implementazione del Codice. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -
- Costruttore in Java con tipi
- Costruttore in Python con vantaggi
- Generatore di numeri casuali in C
- Variabili in C con le sue regole | I 5 migliori tipi
- JPanel in Java (funzioni utilizzate)
- Esempi di JFrame in Java
- Generatore di numeri casuali in Matlab
- Generatore di numeri casuali in C #
- JLabel in Java
- Flowlayout in Java