JPanel和getContentPane()的问题,急

bluefcxt 2009-07-17 11:05:14
我现在用了一个Comfyj来调用OCX控件,已经可以在JFrame中调用出来控件了。
调用的方法大致如下:


public class Test extends JFrame {

public Test (){
Container contentPane = getContentPane();
final OleContainer oleContainer = new OleContainer();
oleContainer.createObject(CLASS_ID);
getContentPane().add(oleContainer, BorderLayout.CENTER);
}
}


这样应该是通过getContentPane()取得JFrame的panel然后将控件add到这个panel中,可是如果我直接new一个JPanel再add控件的话就是没都显示不出来了,是因为JPanel是轻量级的问题么?OleContainer 应该是重量级的
java.lang.Object
extended byjava.awt.Component
extended byjava.awt.Canvas
extended bycom.jniwrapper.win32.automation.OleContainer

在JPanel中直接用的add

public Test extends JPanel(){
pulic Test(){
oleContainer.createObject(CLASS_ID);
oleContainer.createObject(CLASS_ID);
add(oleContainer, BorderLayout.CENTER);
}
}


实际上我是想把这个控件放在一个TopComponent(Component的子类,NetBeans里的)里,如果直接放在JPanel里不行还有什么办法?小弟刚接触Swing不久很多东西不知道,麻烦大侠们指点一下啊~
...全文
555 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿士匹灵 2009-07-18
  • 打赏
  • 举报
回复
图形 好长时间没做了
呵呵

kangjk 2009-07-18
  • 打赏
  • 举报
回复
JFrame.getContentPane()返回的就是JPanel,所以应该不存在楼主说的问题

建议把整段代码贴上来看看
dracularking 2009-07-17
  • 打赏
  • 举报
回复
这个要反复多试试 第一个例子是成功的吧?那如果把NetBeans放入JFrame呢再添加OleContainer呢
tan124 2009-07-17
  • 打赏
  • 举报
回复
小弟也有这方面的疑惑,请大侠们指教,jf,到时麻烦版主发到我的信息中

62,615

社区成员

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

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