Come nascondere un pannello in un JSplitPane

November 15

JSplitPanel è un componente nel linguaggio di programmazione Java che consente di visualizzare due pannelli, dividere orizzontalmente o verticalmente. Ulteriori componenti possono essere aggiunti a ciascun vetro con la propria funzionalità indipendenti. Come tutti i componenti Java, un programmatore può impostare dimensioni del pannello scissione specificando la larghezza preferita e altezza in numero di pixel e indicato coordinata pixel dove il pannello disegnata origina sullo schermo. A volte un programmatore potrebbe desiderare di nascondere un pannello per la visualizzazione successiva, mentre permettono l'altro pannello di rimanere visibile. Questo viene fatto aggiungendo JButtons aggiungendo funzionalità speciale per i pannelli.

istruzione

1 Usa la parola chiave Java "importazione" per caricare i pacchetti Java corretto nel vostro IDE. Nel caso di questo programma questi pacchetti sono java.awt, java.awt.event e javax.swing. Il codice è simile al seguente:

import java.awt. *;

importare java.awt.event. *;

importare javax.swing. *;

2 Creare una classe Java per contenere le istruzioni di programmazione che danno all'utente il potere di nascondere uno dei pannelli di un pannello di divisione. Inoltre, creare il metodo "principale" in modo che il programma verrà eseguito. Utilizzando una classe di esempio per dimostrare sintassi corretta è simile al seguente:

public class HidePane {

public static void main(String[] args) {

}

}

3 Creare un contenitore JFrame per contenere la componente JSplitPane quindi creare componenti JButton per dare funzionalità al pannello. Creare il JSplitPane per contenere i componenti JButton. Esempio di codice:

JFrame frame = new JFrame ();

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

finale JButton leftButton = new JButton ( "Pulsante sinistro");

finale JButton rightButton = new JButton ( "Pulsante destro);

finale JSplitPane SplitPane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, leftButton, rightButton);

4 Creare una classe ActionListener e sovrascrivere il metodo "actionPerformed" all'interno della classe di legare la funzione della pelle ai due pulsanti. Una dichiarazione if-else viene utilizzato per determinare se il riquadro scissione dovrebbe essere visibile. Istruire il contenitore di ridisegnare se stesso quando le condizioni cambiano. Esempio di codice:

ActionListener ActionListener = new ActionListener () {

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

if (splitPane.isVisible ()) {

splitPane.remove (rightButton);

splitPane.remove (leftButton);

splitPane.setVisible (false);

contentPane.removeAll ();

contentPane.add (fonte);

} altro {

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 Aggiungere il ActionListener ai pulsanti e aggiungere il riquadro diviso al riquadro contenitore. Impostare le dimensioni del riquadro e assicurarsi che sia visibile. Infine, istruire il programma per uscire una volta che il pannello è chiuso. Esempio di codice:

rightButton.addActionListener (ActionListener);

leftButton.addActiionListener (ActionListener);

contentPane.add (SplitPane);

contentPane.setPreferredSize (nuova dimensione (800, 600));

frame.pack ();

frame.setLocationRelative (null);

frame.setVisible (true);

splitPane.setDividerLocation (0,5);

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

}

}

6 Combinare le parti del programma insieme nella classe principale. Esempio di codice:

import java.awt. *;

importare java.awt.event. *;

importare javax.swing. *;

public class HidePane {

public static void main(String[] args) {

JFrame frame = new JFrame ();

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

finale JButton leftButton = new JButton ( "Pulsante sinistro");

finale JButton rightButton = new JButton ( "Pulsante destro);

finale JSplitPane SplitPane = new JSplitPane (JSplitPane.HORIZONTAL_SPLIT, leftButton, rightButton);

ActionListener ActionListener = new ActionListener () {

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

if (splitPane.isVisible ()) {

splitPane.remove (rightButton);

splitPane.remove (leftButton);

splitPane.setVisible (false);

contentPane.removeAll ();

contentPane.add (fonte);

} altro {

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 (ActionListener);

leftButton.addActiionListener (ActionListener);

contentPane.add (SplitPane);

contentPane.setPreferredSize (nuova dimensione (800, 600));

frame.pack ();

frame.setLocationRelative (null);

frame.setVisible (true);

splitPane.setDividerLocation (0,5);

frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

}

}