Java Swing拆分窗格视图布局

时间:2012-09-22 14:53:10

标签: java swing view split pane

您好我正在实施我的第一个拆分窗格视图,它似乎不适合我,我得到以下输出...

enter image description here

这是代码。

//Create Album Panel
    albumPanel.setLayout(new FlowLayout());

    //Add List view
    albumList.setMinimumSize (new Dimension(150,150));
    albumPanel.add(new JScrollPane(albumList));


    //Add Text Area
    textArea.setLineWrap(true);
    textArea.setWrapStyleWord(true);
    textArea.setEditable(false);
    textArea.setMinimumSize (new Dimension(150,150));
    albumPanel.add(textArea);

    //Split Pane
    JSplitPane splitpane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, albumList, textArea);

    albumPanel.add(splitpane, BorderLayout.CENTER);

2 个答案:

答案 0 :(得分:2)

您需要将组件,包含列表和文本区域的JScrollPanes添加到JSplitPane,以便显示它们。是的,正如大卫所述(对他来说是1+),拥有JSplitPane的容器需要能够让它扩展,而BorderLayout可以很好地用于此。

此外,不要多次向容器添加组件。将组件添加到JScrollPanes,然后将JScrollPanes添加到JSplitPane。不要将组件添加到albumPanel容器中。你的代码在这方面有点精神分裂。

答案 1 :(得分:2)

您已将albumPanel布局设置为FlowLayout,但在添加到BorderLayout时尝试使用JSplitPane常量:

albumPanel.add(splitpane, BorderLayout.CENTER);

您应该通过albumPanelBorderLayout布局设置为new BorderLayout()

此外,LayoutManager为您设置组件的大小并不是一个好主意。