动态加载Panel实例

 interfacetest.java
package forte;
 
import forte.*;
 
public interface interfacetest {
public void addMethod(String s);
public void delMethod(String s);
}
 
 appTest.java
package forte;
 
import javax.swing.*;
import java.util.*;
import java.lang.reflect.*;
import forte.*;
 
public class appTest extends javax.swing.JFrame {
    public appTest() {
        initComponents();
    }
 
    private static interfacetest panelName;
    private void initComponents() {
        jButton2 = new javax.swing.JButton();
        jPopupMenu1 = new javax.swing.JPopupMenu();
        jLabel1 = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jButton6 = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
 
        jButton2.setText("jButton2");
 
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });
 
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("This a test application(include panel,interafce,JTabbedPane,.etc)");
        getContentPane().add(jLabel1, java.awt.BorderLayout.NORTH);
 
        jPanel2.setPreferredSize(new java.awt.Dimension(30, 30));
        jButton1.setText("First");
       jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
 
        jPanel2.add(jButton1);
 
        jButton3.setText("Second");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });
 
        jPanel2.add(jButton3);
 
        jButton4.setText("Third");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
           }
        });
 
        jPanel2.add(jButton4);
 
        jButton5.setText("OK");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });
        jPanel2.add(jButton5);
        jButton6.setText("Cancel");
        jButton6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton6ActionPerformed(evt);
            }
        });
 
        jPanel2.add(jButton6);
        getContentPane().add(jPanel2, java.awt.BorderLayout.SOUTH);
        jPanel1.setLayout(new java.awt.BorderLayout());
        jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel2.setText("old ");
        jPanel1.add(jLabel2, java.awt.BorderLayout.CENTER);
        getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
        pack();
        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setSize(new java.awt.Dimension(700, 500));
        setLocation((screenSize.width-700)/2,(screenSize.height-500)/2);
    }
 public interfacetest addPanel(final JPanel cPanel,String panelName){
        JComponent tempComponent = null;
        try{
        Class className = Class.forName("forte."+panelName);
     Constructor tempConstructor = className.getConstructor(new Class[]{String.class});
tempComponent =(JComponent)tempConstructor.newInstance(new Object[]{panelName});
      cPanel.add(tempComponent);
        }catch(Exception e){
           e.printStackTrace();
        }
        return (interfacetest)tempComponent;
    }
    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
        // Add your handling code here:
    }
    private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
        // Add your handling code here:
    }
    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
        // Add your handling code here:
        if(jPanel1.getComponentCount()!=0)
        {
            jPanel1.removeAll();
        }
       panelName= addPanel(jPanel1,"thirdPane");
       jPanel1.updateUI();
    }
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
        if(jPanel1.getComponentCount()!=0)
        {
            jPanel1.removeAll();
        }
       panelName= addPanel(jPanel1,"secondPane");
       jPanel1.updateUI();
        // Add your handling code here:
    }
 
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // Add your handling code here:
        if(jPanel1.getComponentCount()!=0)
        {
            jPanel1.removeAll();
        }
       panelName= addPanel(jPanel1,"firstPane");
      jPanel1.updateUI();
    }
       
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }
    public static void main(String args[]) {
        new appTest().show();
    }
    // Variables declaration - do not modify
    private javax.swing.JButton jButton6;
    private javax.swing.JButton jButton5;
    private javax.swing.JButton jButton4;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton1;
    private javax.swing.JPopupMenu jPopupMenu1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration
}
 
 
 
 firstPane.java
 
package forte;
 
import forte.*;
 
public class firstPane extends javax.swing.JPanel implements interfacetest {
    public firstPane() {
        initComponents();
    }
 
    public firstPane(String s) {
       initComponents();
    }
   
    private void initComponents() {
        jButton1 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jButton2 = new javax.swing.JButton();
 
        setLayout(null);
 
        jButton1.setText("add");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
 
        add(jButton1);
        jButton1.setBounds(100, 260, 56, 28);
 
        jLabel1.setText("first panel");
        add(jLabel1);
        jLabel1.setBounds(170, 60, 110, 18);
 
        add(jTextField1);
        jTextField1.setBounds(160, 190, 120, 22);
 
        jButton2.setText("delete");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
 
        add(jButton2);
        jButton2.setBounds(230, 260, 71, 28);
 
    }
 
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
      addMethod("first");
        // Add your handling code here:
    }
 
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
      delMethod("first");
        // Add your handling code here:
    }
 
    public void addMethod(String s) {
       jLabel1.setText(jTextField1.getText());
       jTextField1.setText(s);
    }   
    public void delMethod(String s) {
       jLabel1.setText(jTextField1.getText());
       jTextField1.setText(s);
 }   
   
    // Variables declaration - do not modify
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration
   
}
 
 
 
 
 
 
 
 
secondPane.java
 
package forte;
 
import forte.*;
public class secondPane extends javax.swing.JPanel implements interfacetest {
   
    /** Creates new form secondPane */
    public secondPane() {
        initComponents();
    }
    public secondPane(String s) {
        initComponents();
    }
    private void initComponents() {
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
 
        setLayout(null);
 
        jButton1.setText("add");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
 
        add(jButton1);
        jButton1.setBounds(90, 250, 83, 28);
 
       jButton2.setText("delete");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });
 
       add(jButton2);
        jButton2.setBounds(220, 250, 71, 28);
 
        jLabel1.setText("second panel");
        add(jLabel1);
        jLabel1.setBounds(130, 20, 130, 18);
 
        add(jTextField1);
        jTextField1.setBounds(150, 130, 150, 22);
 
   }
 
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
      delMethod("second");
        // Add your handling code here:
    }
 
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
      addMethod("second");
        // Add your handling code here:
    }
 
    public void addMethod(String s) {
        jLabel1.setText(jTextField1.getText());
       jTextField1.setText(s);
   }   
   
    public void delMethod(String s) {
       jLabel1.setText(jTextField1.getText());
       jTextField1.setText(s);
    }   
   
    // Variables declaration - do not modify
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JLabel jLabel1;
    // End of variables declaration
   
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值