2

2つのJSplitPanes(一方は他方の内側)を表示するJFrameがあります。

何らかの理由で、仕切りの位置に一貫性がありません。

つまり、設定した正しい位置に表示される場合と表示されない場合があります。位置が間違っていると、両方の分割パネルで間違っています。JSplitPanesに使用しているコードは次のとおりです。

        JPanel javaPanel = core.getComponentPanel(2);
        JSplitPane splitA = new JSplitPane(JSplitPane.VERTICAL_SPLIT,
                javaPanel.getComponent(0), javaPanel.getComponent(1));
        double pos = (screenDim.getHeight() * 72) / 100;
        splitA.setDividerLocation((int) pos);
        JSplitPane mainSplitP = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
                new JScrollPane(getCoreComponents()), splitA);
        return mainSplitP;

JFrameには、CardLayoutを備えたJPanelがあります。mainSplitPを追加するには、次の方法を使用します。

    private void setFrameContent(Container content, String title) {
        appContent.add(content, title);
        CardLayout cl = (CardLayout) (appContent.getLayout());
        cl.show(appContent, title);
        appFrame.pack();
    }

この不一致の原因は何ですか?

4

1 に答える 1

2
于 2012-04-04T13:57:31.457 に答える