Úvod do JSplitPane
JSplitPane je komponenta Java Swing, která pomáhá při dělení dvou komponent na základě implementace L&F (Look and Feel). Pomáhá také při změně velikosti součástí i na minimální velikost. Pokud je však minimální velikost součástí větší než JSplitPane, nelze změnu velikosti provést. Dva typy, jako je vertikální a horizontální splitpane, jsou v současnosti založeny na zarovnání zleva doprava a shora dolů. Syntaxe, konstruktor a metody JSplitPane budou podrobně popsány v následujících částech.
Syntax:
public class JSplitPane extends JComponent implements Accessible
Zde rozšiřuje třídu JComponent a implementuje dostupné rozhraní.
Konstruktory JSplitPane
JSplitpane má různé konstruktéry s argumenty a bez argumentů. Oni jsou:
- JSplitPane (): Nová rozdělovací podokno se vytvoří zleva doprava (vodorovně) pomocí 2 tlačítek pro komponenty.
- JSplitPane (int orientace): Je vytvořen nový podokno rozdělení se zadanou orientací.
- JSplitPane (int orientace, booleovské překreslení): Je vytvořen nový panel rozdělení se zadaným stylem orientace a překreslení.
- JSplitPane (int orientace, booleovské překreslení, komponenta leftcmp, komponenta rightcmp): Je vytvořen nový panel rozdělení se zadaným stylem orientace a překreslování, levou a pravou komponentou.
- JSplitPane (int orientace, Component leftcmp, Component rightcmp): Je vytvořen nový panel rozdělení se zadanou orientací, levou a pravou komponentou.
30 nejlepších metod JSplitPane
JSplitPane nabízí metody, které provádějí několik operací. Jsou uvedeny v následující tabulce:
Metoda | Vysvětlení |
getOrientation () | Orientace SplitPane bude vrácena. |
getUIClassID () | Název třídy L&F (Look and Feel), která vykreslí komponentu, bude vrácena. |
getUI () | (Look and Feel) Objekt L&F, který vykreslí komponentu, bude vrácen. |
getDividerSize () | Velikost děliče bude vrácena. |
getAccessibleContext () | AccessibleContext propojený s SplitPane bude vrácen |
setUI (SplitPaneUI u) | (Look and Feel) Bude nastaven objekt L&F, který vykreslí komponentu. |
paramString () | Reprezentace JSplitPane bude ve formátu řetězce |
getMinimumDividerLocation (). | Vrátí se nejmenší nebo minimální poloha oddělovače. |
remove (Component cmp) | Podřízená komponenta z splitpane bude odstraněna. |
getDividerLocation () | Bude vrácena poslední hodnota, která je předána do setDividerLocation. |
isOneTouchExpandable () | Vlastnost „oneTouchExpandable“ bude vrácena. |
setRightComponent (Component cmp) | Správná komponenta Splitpane bude nastavena na cmp |
isContinuousLayout () | Vlastnost „ContinuLayout“ bude vrácena |
getMaximumDividerLocation () | Vrátí se největší nebo maximální umístění oddělovače. |
setLeftComponent (Component cmp) | Levá komponenta Splitpane bude nastavena na cmp |
setBottomComponent (Component cmp) | Spodní část Splitpane bude nastavena na cmp |
setDividerSize (int) | Velikost děliče bude nastavena. |
setOneTouchExpandable (boolean st) | Nastaví se vlastnost „oneTouchExpandable“. |
setResizeWeight (double w) | Když se změní velikost splitpane, tato metoda pomáhá při určování toho, jak má být prostor navíc distribuován. |
setLastDividerLocation (int loc) | Nastaví se poslední místo oddělovače. |
setTopComponent (Component CMP) | Špičková komponenta Splitpane bude nastavena na parametr CMP. |
setDividerLocation (int loc) | Poloha oddělovače bude nastavena. |
odstranit (index int) | Součást v uvedeném indexu bude odstraněna |
setContinuousLayout (boolean n) | Bude nastavena hodnota vlastnosti „nepřetržité rozvržení“. Aby bylo možné nepřetržitě znovu zobrazovat podřízené komponenty, musí být tato hodnota pravdivá |
getTopComponent () | Pomocí této metody bude vrácena nejvyšší komponenta Splitpane. |
setDividerLocation (double loc) | Poloha oddělovače bude stanovena jako procento velikosti SplitPane. |
getRightComponent () | Správná komponenta Splitpane bude vrácena. |
getBottomComponent () | Spodní část Splitpane bude vrácena. |
addImpl (Component CMP, Object cob, int in) | Uvedená komponenta bude přidána do SplitPane. |
Program implementace JSplitPane
Nyní se podívejme na ukázkový program, který demonstruje JSplitPane:
Kód:
// 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 );
)
)
Výstup:
Zde je generován výstup se 3 panely obsahujícími různá tlačítka. V panelu 1 je přítomno pět tlačítek N, E, W, S a C, zatímco v panelu 2 je přítomno pět tlačítek A, B, C, D a E. Ve spodní části je také panel pro speciální informace.
Závěr
JSplitPane je komponenta Swing v Javě, která pomáhá při dělení komponent na základě implementace Look and Feel (L&F). Kromě toho lze také změnit velikost součástí na minimální velikost. V tomto dokumentu jsou podrobně diskutovány konstruktéři, metody a ukázkový program pro JSplitPanel.
Doporučený článek
Toto je průvodce po JSplitPane. Zde diskutujeme konstruktéry JSplitPane a prvních 30 metod s jejich popisem spolu s implementací kódu. Další informace naleznete také v dalších navrhovaných článcích -
- Konstruktor v Javě s typy
- Konstruktor v Pythonu s výhodami
- Generátor náhodných čísel v C
- Proměnné v C s pravidly Top 5 typů
- JPanel v Javě (použité funkce)
- Příklady JFrame v Javě
- Generátor náhodných čísel v Matlabu
- Generátor náhodných čísel v C #
- JLabel v Javě
- Flowlayout v Javě