听取所有JInternalFrame事件 - Java

时间:2009-10-19 14:57:19

标签: java swing awt right-to-left jinternalframe

我正在尝试国际化Java applet,并支持从右到左编写的脚本。我想为自动添加到视图中的所有java组件设置组件方向。

到目前为止我的解决方案必须使用windows mask监听所有AWTEvent:

c.getToolkit().addAWTEventListener(listener, AWTEvent.WINDOW_EVENT_MASK);

...然后在添加的每个窗口上设置c / o,以及添加组件侦听器以在稍后添加到窗口的任何组件上设置c / o。

我的问题是这个解决方案没有处理JInternalFrames,我希望能够为这些事件添加另一个监听器,就像我为windows做的那样。有什么想法吗?

或者,有没有更好的方法来处理applet中所有组件的脚本方向?

3 个答案:

答案 0 :(得分:0)

您是否掌握了所有这些JInternalFrame?如果是这样,请尝试内部框架侦听器。

http://java.sun.com/javase/6/docs/api/javax/swing/event/InternalFrameListener.html

它注意到它与AWT WindowListener类似。

答案 1 :(得分:0)

当前AWTEventListener上的

Toolkit只会为您提供来自该工具包的活动。通常,轻量级组件生成的事件将由鼠标或键事件引起。

在一个过程中询问所有事情通常是一个非常糟糕的迹象。一个低级代码正在为整个程序制定政策。更好的方法是在“实现”之前将侦听器添加到创建组件的位置附近。这是重复的代码,但是你可能已经重复了代码。因此,考虑到一个方法。那么你只有一个地方可以更新,除非你有任何不适用的情况会破坏全局方法。

答案 2 :(得分:0)

将ContainerListener添加到JDesktopPane。当组件添加到桌面时,您可以更改其方向。