轻量级组件超重量级组件问题

时间:2010-11-08 15:50:37

标签: java swing awt

代码非常庞大,涉及许多不同的类/方法:

但这是要点:

有一个主框架:A_Main 选择主框架A中的内容:打开JDialog B_Dialog 这个B_Dialog上面有一个JPanel:C_Panel

此C_Panel包含文本字段和按钮

单击文本字段/按钮:打开工具提示和另一个JPanel:D_Panel

现在,问题是:

1)工具提示溢出B_Dialog的大小,因此被截断

然而,

2)D_Panel;即使它在B_Dialog边界之外也能完全显示

2.1)此D_Panel中有一些texfields和下拉菜单

2.2)鼠标事件在此D_Panel项目(下拉菜单)中正常运行

2.3)但键盘事件功能不正确(Textfield)

如果你能提供帮助,我会很高兴的!

谢谢!

2 个答案:

答案 0 :(得分:0)

  

现在,当我尝试在JAR JPanel的文本字段中输入内容时,我无法这样做,因为它弹出了包含它的主JDialog的边框。

JScrollPane周围添加JPanel,并允许其水平和垂直展开。如果这不起作用,您可能需要自定义布局管理器,或使用GridBagLayout之类的默认布局管理器。

此外,您需要先获得焦点才能输入文字,但这似乎不是问题所在。

答案 1 :(得分:0)

这只能在较新版本的JDK中完成。

请参阅Mixing Heavyweight and Lightweight Components