我做了一个界面,如下:
leftPanel = new JPanel();
rightPanel = new JPanel();
JSplitPane innerPane= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,rightPanel);
后又写了个选项卡窗格JTabbedPane tabbedPane  = new JTabbedPane();
在每个选项卡上放了一个Panel
现在我是已经把tabbedPane放在了JSplitPane innerPane 的leftPanel上
现在的问题是,在其中一个选项卡上我放上一个JTextField和JTable,怎么样让它们的宽度和分隔窗格左边的宽度一样,随便拖动宽度也随着变,就象帮助文档中左边的那样
谢谢拉!

解决方案 »

  1.   

    /*
     * TestFrame1.java
     *
     * Created on 2005年7月5日, 上午9:29
     */public class TestFrame1 extends javax.swing.JFrame {
        
        /** Creates new form TestFrame1 */
        public TestFrame1() {
            initComponents();
        }
        
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        // <editor-fold defaultstate="collapsed" desc=" Generated Code ">
        private void initComponents() {
            jSplitPane1 = new javax.swing.JSplitPane();
            leftPanel = new javax.swing.JPanel();
            tabbedPane = new javax.swing.JTabbedPane();
            jPanel1 = new javax.swing.JPanel();
            textField = new javax.swing.JTextField();
            jScrollPane1 = new javax.swing.JScrollPane();
            jTable1 = new javax.swing.JTable();
            jPanel2 = new javax.swing.JPanel();
            rightPanel = new javax.swing.JPanel();        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            jSplitPane1.setDividerLocation(200);
            leftPanel.setLayout(new java.awt.BorderLayout());        jPanel1.setLayout(new java.awt.BorderLayout());        textField.setColumns(10);
            jPanel1.add(textField, java.awt.BorderLayout.NORTH);        jTable1.setModel(new javax.swing.table.DefaultTableModel(
                new Object [][] {
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null},
                    {null, null, null, null}
                },
                new String [] {
                    "Title 1", "Title 2", "Title 3", "Title 4"
                }
            ));
            jScrollPane1.setViewportView(jTable1);        jPanel1.add(jScrollPane1, java.awt.BorderLayout.CENTER);        tabbedPane.addTab("tab1", jPanel1);        tabbedPane.addTab("tab2", jPanel2);        leftPanel.add(tabbedPane, java.awt.BorderLayout.CENTER);        jSplitPane1.setLeftComponent(leftPanel);        jSplitPane1.setRightComponent(rightPanel);        getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);        pack();
        }
        // </editor-fold>
        
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new TestFrame1().setVisible(true);
                }
            });
        }
        
        // Variables declaration - do not modify
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JSplitPane jSplitPane1;
        private javax.swing.JTable jTable1;
        private javax.swing.JPanel leftPanel;
        private javax.swing.JPanel rightPanel;
        private javax.swing.JTabbedPane tabbedPane;
        private javax.swing.JTextField textField;
        // End of variables declaration
        
    }
      

  2.   

    设你加上去的panel的布局为BorderLayout