Hvordan skjule et panel i en JSplitPane

JSplitPanel er en komponent i Java programmeringsspråk som viser to paneler, delt enten horisontalt eller vertikalt. Ytterligere komponenter kan tilsettes til hver rute med sin egen uavhengige funksjonalitet. Som alle Java komponenter, kan en programmerer angi dimensjoner av den delte panelet ved å angi den foretrukne bredde og høyde i antall piksler og indikerte piksel koordinaten hvor den trukne panelet kommer på skjermen. Noen ganger kan en programmerer kan ønske å skjule et panel for senere visning mens tillate det andre panelet skal være synlig. Dette gjøres ved å tilsette legge JButtons med spesiell funksjonalitet til panelene.

Bruksanvisning

1 Bruk Java ordet "import" for å laste riktig Java-pakker inn i IDE. Når det gjelder dette programmet disse pakkene er java.awt, java.awt.event og javax.swing. Koden ser slik ut:

importere java.awt. *;

importere java.awt.event. *;

importere javax.swing. *;

2 Lag en Java klasse for å inneholde programinstruksjonene som gir brukeren muligheten til å skjule et av panelene på et delt vindu. Også opprette "main" metode, slik at programmet vil kjøre. Ved hjelp av et eksempel klasse for å demonstrere riktig syntaks ser slik ut:

public class HidePane {

public static void main(String[] args) {

}

}

3 Lag en JFrame beholder å holde JSplitPane komponent deretter opprette JButton komponenter for å gi funksjonalitet til panelet. Opprett JSplitPane å holde JButton komponenter. Eksempel kode:

JFrame ramme = new JFrame ();

endelig JPanel contentPane = (JPanel) frame.getContentPane ();

endelig JButton leftButton = new JButton ( "Left Button");

endelig JButton rightButton = new JButton ( "Høyre knapp);

endelig JSplitPane splitPane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, leftButton, rightButton);

4 Lag en Action klasse og overstyre "actionPerformed" metode i klassen til å knytte skjul funksjonen til de to knappene. En if-else setningen brukes til å avgjøre hvorvidt det delte vinduet skal være synlig. Be beholderen å male seg selv når forholdene endrer seg. Eksempel kode:

Actionaction = new Action () {

JButton source = (JButton)e.getSource();

if (splitPane.isVisible ()) {

splitPane.remove (rightButton);

splitPane.remove (leftButton);

splitPane.setVisible (false);

contentPane.removeAll ();

contentPane.add (kilde);

} Else {

contentPane.removeAll ();

splitPane.setLeftComponent (leftButton);

splitPane.setRightComponent (rightButton);

splitPane.setDividerLocation (0,5);

splitPane.setVisible (true);

contentPane.add (splitPane);

}

contentPane.revalidate ();

contentPane.repaint ();

source.requestFocusInWindow ();

}

};

5 Legg Action til knappene og legge til split-ruten til beholderen ruten. Sett dimensjonene av ruten og sørge for at det er synlig. Til slutt, instruere programmet for å gå ut når panelet er lukket. Eksempel kode:

rightButton.addActionListener (Action);

leftButton.addActiionListener (Action);

contentPane.add (splitPane);

contentPane.setPreferredSize (ny dimensjon (800, 600));

frame.pack ();

frame.setLocationRelative (null);

frame.setVisible (true);

splitPane.setDividerLocation (0,5);

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

}

}

6 Kombiner de deler av programmet sammen inn i hovedklassen. Eksempel kode:

importere java.awt. *;

importere java.awt.event. *;

importere javax.swing. *;

public class HidePane {

public static void main(String[] args) {

JFrame ramme = new JFrame ();

endelig JPanel contentPane = (JPanel) frame.getContentPane ();

endelig JButton leftButton = new JButton ( "Left Button");

endelig JButton rightButton = new JButton ( "Høyre knapp);

endelig JSplitPane splitPane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, leftButton, rightButton);

Actionaction = new Action () {

JButton source = (JButton) e.getSource ();

if (splitPane.isVisible ()) {

splitPane.remove (rightButton);

splitPane.remove (leftButton);

splitPane.setVisible (false);

contentPane.removeAll ();

contentPane.add (kilde);

} Else {

contentPane.removeAll ();

splitPane.setLeftComponent (leftButton);

splitPane.setRightComponent (rightButton);

splitPane.setDividerLocation (0,5);

splitPane.setVisible (true);

contentPane.add (splitPane);

}

contentPane.revalidate ();

contentPane.repaint ();

source.requestFocusInWindow ();

}

};

rightButton.addActionListener (Action);

leftButton.addActiionListener (Action);

contentPane.add (splitPane);

contentPane.setPreferredSize (ny dimensjon (800, 600));

frame.pack ();

frame.setLocationRelative (null);

frame.setVisible (true);

splitPane.setDividerLocation (0,5);

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

}

}