我有一個顯示兩個JSplitPanes(一個在另一個內部)的JFrame。不一致的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。要添加主SplitP我使用以下方法:
private void setFrameContent(Container content, String title) {
appContent.add(content, title);
CardLayout cl = (CardLayout) (appContent.getLayout());
cl.show(appContent, title);
appFrame.pack();
}
什麼可能導致這種不一致?
我認爲你正在使用的佈局管理器有事情做與您的問題。 – 2012-04-04 13:51:26
佈局是CardLayout。我不應該總是得到相同的結果嗎? – Giannis 2012-04-04 13:52:19
TRy在SwingUtilities.invokeLater中設置環繞分隔符位置 – StanislavL 2012-04-04 13:54:33