Java Swing拆分窗格视图布局
您好,我正在实现我的第一个拆分窗格视图,它似乎对我不起作用,我得到以下输出 这是代码Java Swing拆分窗格视图布局,java,swing,view,split,pane,Java,Swing,View,Split,Pane,您好,我正在实现我的第一个拆分窗格视图,它似乎对我不起作用,我得到以下输出 这是代码 //Create Album Panel albumPanel.setLayout(new FlowLayout()); //Add List view albumList.setMinimumSize (new Dimension(150,150)); albumPanel.add(new JScrollPane(albumList)); //Add Text
//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);
您需要向JSplitPane添加组件,即保存列表和文本区域的JScrollPane,以便JSplitPane显示它们。是的,正如David所说(对他来说是1+),保存JSplitPane的容器需要能够让它扩展,而BorderLayout可以很好地实现这一点
此外,不要多次向容器中添加组件。将组件添加到jscrollpane,然后将jscrollpane添加到JSplitPane。也不要将组件添加到albumPanel容器中。在这方面,您的代码有点精神分裂。您已将
相册面板布局设置为FlowLayout
,但在添加到JSplitPane
时,您尝试使用BorderLayout
常量:
albumPanel.add(拆分窗格,BorderLayout.CENTER)代码>
您应该通过newborderlayout()将albumPanel
布局设置为BorderLayout
另外,设置组件的大小也不是一个好主意,让布局管理器为您做吧。我想他在构建拆分窗格时做了。请看文档:是的,你是对的。他的代码有点精神分裂,因为他将组件添加到JScrollPanes,然后将它们添加到JPanel,然后将相同的组件添加到拆分窗格???