JSplitPane只移动一个方向



我有一个嵌套的JSplitPane和底部分割窗格将只移动到左边。即使我把它移到左边,它也不会向右移动。

    dataEntry=new JTabbedPane();
    formformat=new JPanel();
    dataEntry.addTab("Table Entry", tableScroll);
    dataEntry.setMnemonicAt(0, KeyEvent.VK_1);
    dataEntry.addTab("Form Entry", formformat);
    dataEntry.setMnemonicAt(0, KeyEvent.VK_2);
    utils=new JTabbedPane();
    helphtml=new JEditorPane();
    utils.addTab("Field Help", helphtml);
    utils.setMnemonicAt(0, KeyEvent.VK_3);
    microImage=new JLabel();
    utils.addTab("Image Navigation", microImage);
    utils.setMnemonicAt(0, KeyEvent.VK_4);
    //leftright=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
    //        new JPanel().add(dataEntry), new JPanel().add(utils));
    leftright=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
    leftright.add(dataEntry);
    leftright.add(utils);
    leftright.setContinuousLayout(true);
    leftright.setOneTouchExpandable(true);
    try {
        System.out.println("divx loc"+sa.getXDivider(username));
        leftright.setDividerLocation(sa.getXDivider(username));
    } catch (Exception e1) {
        leftright.setDividerLocation(750);
    }
    createImage();
    if(!imgurl.equals("NONE"))
        topbot=new JSplitPane(JSplitPane.VERTICAL_SPLIT,imgpnl, leftright);
    else
        topbot=new JSplitPane(JSplitPane.VERTICAL_SPLIT,batchImage, leftright);
    topbot.setOneTouchExpandable(true);
    try {
        System.out.println("divy loc"+sa.getYDivider(username));
        topbot.setDividerLocation(sa.getYDivider(username));
    } catch (Exception e) {
        topbot.setDividerLocation(600);
    }

注释掉的构造函数也不起作用,我试过了,两个方法都没有改变任何东西。

为什么水平分割窗格只向一个方向移动?垂直分割窗格没有问题,可以上下移动也没有问题。

拆分窗格的灵活性将受到其包含的组件的最小尺寸的限制。

要使拆分窗格正常工作,通常需要设置拆分窗格中组件的最小大小,以及拆分窗格或其包含的组件的首选大小。选择应该设置的大小是一门艺术,需要了解如何确定拆分窗格的首选大小和分隔符位置。

从http://docs.oracle.com/javase/tutorial/uiswing/components/splitpane.html

#分配器

相关内容

  • 没有找到相关文章

最新更新