Java - JSplitPane


Klasa JSplitPane se koristi za podjelu dvije komponente. Dvije komponente su podijeljene na osnovu implementacije izgleda i osjećaja (feel), a korisnik im može promijeniti veličinu. Ako je minimalna veličina dvije komponente veća od veličine podijeljenog okna, razdjelnik vam neće dozvoliti da mu promijenite veličinu. Dvije komponente u podijeljenom oknu mogu se poravnati s lijeva na desno pomoću JSplitPane.HORIZONTAL_SPLIT, ili od vrha do dna pomoću JSplitPane.VERTICAL_SPLIT. Kada korisnik mijenja veličinu komponenti, minimalna veličina komponenti se koristi za određivanje maksimalne/minimalne pozicije na koju se komponente mogu postaviti.



Ugnježdena klasa

Modifikator i tip Klasa Opis
protected class JSplitPane.AccessibleJSplitPane Ova klasa implementuje podršku pristupačnosti za klasu JsplitPane.


Korisna polja

Modifikator i tip Polje Opis
static String BOTTOM Koristi se za dodavanje komponente ispod druge komponente.
static String CONTINUOUS_LAYOUT_PROPERTY Vezano ime svojstva za continuousLayout.
static String DIVIDER Koristi se za dodavanje komponente koja će predstavljati razdjelnik.
static int HORIZONTAL_SPLIT Horizontalna podjela označava da su komponente podijeljene duž x ose.
protected int lastDividerLocation Prethodna lokacija podijeljenog okna.
protected Component leftComponent Lijeva ili gornja komponenta.
static int VERTICAL_SPLIT Vertikalna podjela označava da su komponente podijeljene duž y ose.
protected Component rightComponent Desna ili donja komponenta.
protected int orientation Kako su pogledi podijeljeni.


Konstruktori

Konstruktor Opis
JSplitPane() Kreira novi JsplitPane konfigurisan da rasporedi podređene komponente jednu pored druge horizontalno, koristeći dva dugmeta za komponente.
JSplitPane(int newOrientation) Kreira novi JsplitPane konfigurisan sa specificikovanom orijentacijom.
JSplitPane(int newOrientation, boolean newContinuousLayout) Kreira novi JsplitPane sa specifikovanom orijentacijom i stilom ponovnog crtanja.
JSplitPane(int newOrientation, boolean newContinuousLayout, Component newLeftComponent, Component newRightComponent) Kreira novi JsplitPane sa specifikovanom orijentacijom i stilom ponovnog crtanja i sa navedenim komponentama.
JSplitPane(int newOrientation, Component newLeftComponent, Component newRightComponent) Kreira novi JsplitPane sa specifikovanom orijentacijom i navedenim komponentama.


Korisne metode

Modifikator i tip Metod Opis
protected void addImpl(Component comp, Object constraints, int index) Dodaje specifikovanu komponentu u ovo podijeljeno okno.
AccessibleContext getAccessibleContext() Dobija AccessibleContext pridružen ovom JSplitPane-u.
int getDividerLocation() Vraća zadnju vrijednost proslijeđenu setDividerLocation.
int getDividerSize() Vraća veličinu razdjelnika.
Component getBottomComponent() Vraća komponentu ispod ili desno od razdjelnika.
Component getRightComponent() Vraća komponentu desno (ili ispod) razdjelnika.
SplitPaneUI getUI() Vraća SplitPaneUI koji pruža trenutni izgled i osjećaj (feel).
boolean isContinuousLayout() Dobija svojstvo continueLayout.
boolean isOneTouchExpandable() Dobija svojstvo oneTouchExpandable.
void setOrientation(int orientation) Dobija orijentaciju, odnosno kako je razdjelnik podijeljen.


Primjer Java JSplitPane

// Importovanje potrebnih biblioteka
import java.awt.FlowLayout;  
import java.awt.Panel;  
import javax.swing.JComboBox;  
import javax.swing.JFrame;  
import javax.swing.JSplitPane;  

public class Main {  
    private static void createAndShow() {  
        // Kreiranje i postavljanje prozora 
        final JFrame frame = new JFrame("Primjer JSplitPane-a");
        
        // Prikazivanje prozora 
        frame.setSize(300, 300);  
        frame.setVisible(true);  
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        
        // Postavljanje rasporeda toka za okvir
        frame.getContentPane().setLayout(new FlowLayout());  
        String[] option1 = { "A","B","C","D","E" };
        
        JComboBox box1 = new JComboBox(option1);  
        String[] option2 = {"1","2","3","4","5"}; 
        
        JComboBox box2 = new JComboBox(option2); 
        
        Panel panel1 = new Panel();  
        panel1.add(box1);  
        Panel panel2 = new Panel();  
        panel2.add(box2);  
        
        // Horizontalno prikazivanje JSplitPane-a
        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, panel1, panel2);  
        // JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT,  
        // panel1, panel2); Ukoliko želite da se prikazuje vertiklano samo uklonite //  
        frame.getContentPane().add(splitPane);  
    }  
    public static void main(String[] args) {  
        // Zakazivanje posla za nit za slanje događaja
        // Kreiranje i prikazivanje GUI ove aplikacije
        javax.swing.SwingUtilities.invokeLater(new Runnable() {  
            public void run() {  
                createAndShow();  
            }  
        });  
    }  
}

Prikaz koda iz gornjeg primjera izgledaće ovako: