3

您好,我正在实现我的第一个拆分窗格视图,它似乎对我不起作用,我得到以下输出......

在此处输入图像描述

这是代码。

//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);
4

2 回答 2

2

您需要将组件、保存列表和文本区域的 JScrollPanes 添加到 JSplitPane 以使其显示它们。是的,正如 David 所说(对他来说是 1+),你的容器容纳 JSplitPane 需要能够让它扩展,而 BorderLayout 可以很好地解决这个问题。

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

于 2012-09-22T14:57:42.720 回答
2

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

albumPanel.add(splitpane, BorderLayout.CENTER);

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

此外,设置组件的大小也不是一个好主意,让LayoutManager's 为您完成。

于 2012-09-22T14:57:55.047 回答