您好我正在实施我的第一个拆分窗格视图,它似乎不适合我,我得到以下输出...
这是代码。
//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);
答案 0 :(得分:2)
您需要将组件,包含列表和文本区域的JScrollPanes添加到JSplitPane,以便显示它们。是的,正如大卫所述(对他来说是1+),拥有JSplitPane的容器需要能够让它扩展,而BorderLayout可以很好地用于此。
此外,不要多次向容器添加组件。将组件添加到JScrollPanes,然后将JScrollPanes添加到JSplitPane。不要将组件添加到albumPanel容器中。你的代码在这方面有点精神分裂。
答案 1 :(得分:2)
您已将albumPanel
布局设置为FlowLayout
,但在添加到BorderLayout
时尝试使用JSplitPane
常量:
albumPanel.add(splitpane, BorderLayout.CENTER);
您应该通过albumPanel
将BorderLayout
布局设置为new BorderLayout()
此外,LayoutManager
为您设置组件的大小并不是一个好主意。