怎样在运行时动态增加新的控件,例如点击某按钮时,能够在旁边生成新的按钮。不希望通过显示隐藏的方法实现。

解决方案 »

  1.   

    那就用add()来添加嘛,只要再刷新一下就能显示出来了。
      

  2.   

    /*
     * AFrame.java
     *
     * Created on 2006年3月31日, 上午10:30
     */package testwithnb;
    import javax.swing.*;
    import java.awt.*;
    public class AFrame extends javax.swing.JFrame {
        public AFrame() {
            initComponents();
        }
        
        private void initComponents() {
            jButton1 = new javax.swing.JButton();        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            jButton1.setText("jButton1");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });        getContentPane().add(jButton1, java.awt.BorderLayout.NORTH);        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
            setBounds((screenSize.width-400)/2, (screenSize.height-300)/2, 400, 300);
        }    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            APanel apanel = new APanel();
            this.getContentPane().add(apanel, BorderLayout.CENTER);
            this.validate();
        }                                        
        
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new AFrame().setVisible(true);
                }
            });
        }
        
        private javax.swing.JButton jButton1;
        
    }