处理java swing中的重叠组件

时间:2010-08-27 06:33:03

标签: java swing

我正在开发一个app,当用于加载文件和绘制包含的组件时,可能会导致重叠组件的绘制。例如,考虑一个包含文本行的大矩形框。 现在因为这些组件是重叠的,所以在这种情况下用户很难选择内部文本框,因为它已被矩形框重叠。

我们正在考虑通过允许用户将任何组件实际移动到当前组件之下的层来解决此问题。但是这在可用性方面有其自身的局限性,因为对于每种这样的情况,用户必须将较大或最近绘制的组件移动到下面的层,然后对内部组件进行其他处理,如拖动等。在此应用程序中,在同一个2d(x& y位置)可以有两个以上的组件。

我确信应该有一个更好的解决方案,有人可以提供一些关于其实施部分的指示。

2 个答案:

答案 0 :(得分:1)

我不确定,我是否理解你的问题。您是否有问题,使用动作侦听器或绘制组件?

How to Use Root Panes可能会有所帮助。

您可以使用Java创建Glasspane

alt text

alt text

答案 1 :(得分:0)

这是一个简单的example对象绘图程序,支持单击和拖动多个选择。更高级的程序通常只需重新排序节点列表即可实现z顺序功能(Move ForwardMove BackwardMove to FrontMove to Back)。

作为分层窗格方法的替代方法,还要考虑JInternalFrame。此example显示How to Use Actions来管理菜单,隐藏窗口可以从中突出显示。