用过Eclipse的进来,关于java JPanel的问题

jomdd 2011-06-05 05:34:53
最近想做个小项目。但是老是出问题,不知道是怎么回事:

我写了几个继承自JPanel的类。在一个JFrame里有个JPanel(Eclipse自动生成的)。现在我想在这Eclipse自动生成的JPanel左边设置一个导航栏,右边是内容。本来是个简单的事,但问题就在这了:

我加入一个自写的JPanel类之后,显示填充整个Eclipse的JPanel:

代码:

eqMain是一个继承自JPanel类的对象;

private JPanel getJContentPane() {
if (jContentPane == null)
{
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(eqMain);
}
return jContentPane;
}

没什么问题,就是填充了整个Eclipse自生成的JPanel(jContentPane).

我想左边加入个导航栏,于是如下:

leftPanel也是一个继承自JPanel类的对象;

private JPanel getJContentPane() {
if (jContentPane == null)
{
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(leftPanel,"East");
jContentPane.add(eqMain,"West");
}
return jContentPane;
}



显示的结果出乎意料,什么东西都没有。
只有空空的一个JFrame。
这是怎么回事啊?

也就是说,我不加方位,直接add(eqMain);
除了不合要求外没问题。

但是我设了方位后 add(eqMain,"West");
什么东西也没有了。不是只有我的会,我这项目是老师讲课要求做的,
当时老师也是这样子,最后不用BorderLayout这布局,改用无布局。
但我想没理由啊。这么回事啊?请教高手!
...全文
295 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
染指黄昏 2011-06-06
  • 打赏
  • 举报
回复
jContentPane.add(leftPanel,BorderLayout.EAST);
试试可以不
TKD03072010 2011-06-06
  • 打赏
  • 举报
回复
设置布局 试试看
Ann725 2011-06-05
  • 打赏
  • 举报
回复
JFrame默认布局方式是边界布局,添加组件的时候如果没有指定加到哪,默认的是加到中间,也就是说你后面加的组件会把前面的给覆盖,JPanel的话默认布局方式是流式布局,当然我们都是可以看具体需求来设置他们的布局方式的

58,452

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧