Εναλλαγή JPANEL

Πολλές φορές για τις ανάγκες του προγράμματός μας πρέπει να εμφανίζουμε διαφορετικά δεδομένα στο ίδιο παράθυρο της εφαρμογής μας. Δηλαδή διαφορετικά στοιχεία όπως ετικέτες, κουμπιά ή χρώματα καθώς και διαφορετικές λειτουργίες.
 
Για να το πετύχουμε αυτό θα πρέπει να δημιουργήσουμε  δύο διαφορετικά αντικείμενα JPanel μέσα στο ίδιο JFrame. Φυσικά αυτό θα γίνει με την βοήθεια ενός Layout.

Η Δύναμη του JPanel 
Σε κάθε  JPanel τοποθετούμε τα απαραίτητα στοιχεία και με τις λειτουργίες που επιθυμούμε και τις αντίστοιχες ρυθμίσεις. Στην συνέχεια τα δύο JPanel τοποθετούνται μέσα στο κοινό Layout ορίζοντας ένα από τα δύο να μην εμφανίζεται δίνοντάς του τιμή false.

Ακολουθεί ένα σύντομο αλλά πλήρες παράδειγμα εναλλαγής JPanel μέσα στο ίδιο JFrame.


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();//Δημιουργία Layout
        setLayout(flo);
       
        // προσθήκη αντικειμένων στο panel 1
        panel1.add(label1);
        panel1.add(button1);
        panel1.setBackground(Color.red);
       
       // προσθήκη αντικειμένων στο panel 2
        panel2.setVisible(false); 
        panel2.add(label2);
        panel2.add(button2);
        panel2.setBackground(Color.cyan);
       
       // λειτουργίες κουμπιού 1 
        button1.addActionListener(new ActionListener(){ 
            public void actionPerformed(ActionEvent e){ 
            panel1.setVisible(false); 
            panel2.setVisible(true); 
         } 
      }); 
        
      // λειτουργίες κουμπιού 2
        button2.addActionListener(new ActionListener(){ 
            public void actionPerformed(ActionEvent e){ 
            panel1.setVisible(true); 
            panel2.setVisible(false); 
         } 
      }); 
        
        add(panel1); // τοποθέτηση των πάνελ στο Layout
        add(panel2);
        setVisible(true); //εμφάνιση παραθύρου 
         
        
    }

    
    public static void main(String[] args) {
        SwapJpanel sp=new SwapJpanel();
    }
}
Αντιγράψτε τον παραπάνω κώδικα στον compiler που διαθέτεται όπως Netbeans ή eclipse και τρέξτε τον. Το αποτέλεσμα θα σας συναρπάσει

Αν δεν διαθέτετε κάποιον compiler για Java τότε μπορείτε να κατεβάσετε Χρήσιμες εφαρμογές για  C, JAVA και UML .  
Περιμένω τα σχόλιά σας ή διορθώστε κάτι που ίσως μου διέφευγε να βάλω