Εναλλαγή JPANEL
Πολλές φορές για τις ανάγκες του προγράμματός μας πρέπει να εμφανίζουμε διαφορετικά δεδομένα στο ίδιο παράθυρο της εφαρμογής μας. Δηλαδή διαφορετικά στοιχεία όπως ετικέτες, κουμπιά ή χρώματα καθώς και διαφορετικές λειτουργίες.
Πολλές φορές για τις ανάγκες του προγράμματός μας πρέπει να εμφανίζουμε διαφορετικά δεδομένα στο ίδιο παράθυρο της εφαρμογής μας. Δηλαδή διαφορετικά στοιχεία όπως ετικέτες, κουμπιά ή χρώματα καθώς και διαφορετικές λειτουργίες.
Για να το πετύχουμε αυτό θα πρέπει να δημιουργήσουμε δύο διαφορετικά αντικείμενα JPanel μέσα στο ίδιο JFrame. Φυσικά αυτό θα γίνει με την βοήθεια ενός Layout.
Η Δύναμη του JPanel
Σε κάθε JPanel τοποθετούμε τα απαραίτητα στοιχεία και με τις λειτουργίες που επιθυμούμε και τις αντίστοιχες ρυθμίσεις. Στην συνέχεια τα δύο JPanel τοποθετούνται μέσα στο κοινό Layout ορίζοντας ένα από τα δύο να μην εμφανίζεται δίνοντάς του τιμή false.
Ακολουθεί ένα σύντομο αλλά πλήρες παράδειγμα εναλλαγής JPanel μέσα στο ίδιο JFrame.
Αντιγράψτε τον παραπάνω κώδικα στον compiler που διαθέτεται όπως Netbeans ή eclipse και τρέξτε τον. Το αποτέλεσμα θα σας συναρπάσειpackage swapjpanel;
import javax.swing.*;import java.awt.*;import java.awt.event.*;
public class SwapJpanel extends JFrame{JButton button1= new JButton("clik me");JButton button2= new JButton("clik me");JLabel label1= new JLabel("PANEL-1");JLabel label2= new JLabel("PANEL-2");JPanel panel1= new JPanel();JPanel panel2= new JPanel();public SwapJpanel(){super("Swap Jpanel");setSize(348,348); //ρυθμίσεις παραθύρουsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);FlowLayout flo= new FlowLayout();//Δημιουργία LayoutsetLayout(flo);// προσθήκη αντικειμένων στο panel 1panel1.add(label1);panel1.add(button1);panel1.setBackground(Color.red);// προσθήκη αντικειμένων στο panel 2panel2.setVisible(false);panel2.add(label2);panel2.add(button2);panel2.setBackground(Color.cyan);// λειτουργίες κουμπιού 1button1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){panel1.setVisible(false);panel2.setVisible(true);}});// λειτουργίες κουμπιού 2button2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){panel1.setVisible(true);panel2.setVisible(false);}});add(panel1); // τοποθέτηση των πάνελ στο Layoutadd(panel2);setVisible(true); //εμφάνιση παραθύρου}
public static void main(String[] args) {SwapJpanel sp=new SwapJpanel();}}
Αν δεν διαθέτετε κάποιον compiler για Java τότε μπορείτε να κατεβάσετε Χρήσιμες εφαρμογές για C, JAVA και UML .
Περιμένω τα σχόλιά σας ή διορθώστε κάτι που ίσως μου διέφευγε να βάλω
Δημοσίευση σχολίου