林'从事计算机科学项目,我遇到了borderlayout的一些问题: 这是我的配置(简化)
public class MainPanel extends JPanel{
JSplitPane Pcenter;
JPanel PEnd;
public MainPanel(Container dad){
JTable myTable=new JTable(), anotherTable=new JTable();
JSplitPane left=new JSplitPane();
left.setTopComponent(new JScrollPane (myTable));
left.setBottomComponeny(new JScrollPane(anotherTable));
left.setOrientation(JSplitPane.VERTICAL_SPLIT);
this.setLayout(new BorderLayout());
Pcenter=new JSplitPane();
PEnd=new JPanel();
pend.add(new JButton("Store"));
Pcenter.setLeftComponent(left);
Pcenter.setRightComponent(new JScrollpane(new JLabel("right")));
this.add(Pcenter,BorderLayout.CENTER);
this.add(PPnd,BorderLayout.PAGE_END);
//EDIT:
PEnd.add(new JLabel("goofy"));
}
}
现在,我的项目不同了,但这是我的配置
当我运行主要(一个带有JTabbed的jframe,并将其作为选项卡附加)时,它只显示中心而不是结束。但是,如果我在开始时附上PEnd,就必须播种它。
编辑14-3-14 我挖掘了我的代码,我发现myTable的滚动条生成了问题所以删除它会使PEnd显示但是mytable以一种可怕的方式表现自己
答案 0 :(得分:2)
PEnd,您在PAGE_END
添加的面板没有添加任何内容,因此无需显示任何内容,且大小为0。
可能是这行
pend.add(new JButton("Store"));
你的意思
PEnd.add(new JButton("Store"));
作为旁注,您的变量名称应以小写字母开头,以遵循标准Java样式,以区别于类。