2010-08-27 64 views
0

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

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

我相信应该有更好的解决方案,有人可以提供一些关于它的实现部分的指针。

回答

1

我不知道,我是否理解你的问题。您是否遇到操作监听器或绘制组件的问题?

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

您可以用Java

创建一个玻璃面板

alt text

alt text

0

下面是支持单击并拖动鼠标来选择多个对象绘图程序的简单example。更高级的程序通常通过重新排序节点列表来实现z顺序功能(Move ForwardMove Backward,Move to Front, Move to Back)。

作为分层窗格方法的替代方案,也可以考虑JInternalFrame。这example显示How to Use Actions来管理一个菜单,从中隐藏的窗口可能会出现。