【问题标题】:How do I work with the Card Layout in the NetBeans GUI builder? [closed]如何在 NetBeans GUI 构建器中使用卡片布局? [关闭]
【发布时间】:2010-12-16 06:59:12
【问题描述】:

有谁知道如何在 NetBeans GUI 构建器工具中使用卡片布局?我想根据JRadioButton 选择显示面板,所以我想使用卡片布局来布置它。

【问题讨论】:

    标签: java swing netbeans cardlayout


    【解决方案1】:

    card.next(yourPanel); 将遍历您的mainpanel 中的所有组件,然后来到第一个。要显示您自己想要的组件,请尝试跟随(想想如果有 5 个组件并且您在第 2 个并且想要首先显示,那么您必须完成 Vincent Ramdhanie 的示例中的其余部分, JRL 的 答案很好,因为它可以快速跳转到您想要的答案,但这是另一种方式。

    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    public class myJFrame extends javax.swing.JFrame {
    
        private JPanel panel1, panel2;
        /**
         * Creates new form myJFrame
         */
        public myJFrame() {
            initComponents();
            panel1=new JPanel();
            panel2=new JPanel();
    
            JLabel lb1=new JLabel("This is panel 1");
            JLabel lb2=new JLabel("This is panel 2");
            panel1.add(lb1);
            panel2.add(lb2);
    //make more if you want
    //        contentPanel.add(panel1);//show any of the panel first
    
        }
      private void initComponents() {
    
            jPanel1 = new javax.swing.JPanel();
            buttonPanel1 = new javax.swing.JButton();
            buttonPanel2 = new javax.swing.JButton();
            contentPanel = new javax.swing.JPanel();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
            buttonPanel1.setText("Panel 1");
            buttonPanel1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    buttonPanel1ActionPerformed(evt);
                }
            });
    
            buttonPanel2.setText("Panel 2");
            buttonPanel2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    buttonPanel2ActionPerformed(evt);
                }
            });
      ....
      }
      private void buttonPanel2ActionPerformed(java.awt.event.ActionEvent evt) {
    
            contentPanel.removeAll();
            contentPanel.add(panel2);
            contentPanel.repaint();
            contentPanel.revalidate();
        }
    
        private void buttonPanel1ActionPerformed(java.awt.event.ActionEvent evt) {
            contentPanel.removeAll();
            contentPanel.add(panel1);
            contentPanel.repaint();
            contentPanel.revalidate();
        }
    
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /*
             * Create and display the form
             */
            java.awt.EventQueue.invokeLater(new Runnable() {
    
                public void run() {
                    new myJFrame().setVisible(true);
                }
            });
        }
    
        private javax.swing.JButton buttonPanel1;
        private javax.swing.JButton buttonPanel2;
        private javax.swing.JPanel contentPanel;
        private javax.swing.JPanel jPanel1;
    
    }
    

    当您拥有一棵树并在树选择上显示面板或组件时使用此方式。它直接显示该组件。在树上添加value change listener 并获取选择项并显示相应的面板。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-02
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      相关资源
      最近更新 更多