0

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

到目前为止,我的解决方案必须使用 windows 掩码收听所有 AWTEvent:

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

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

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

或者,是否有更好的方法来处理小程序中所有组件的脚本方向?

4

3 回答 3

0

AWTEventListeneron currentToolkit只会给你来自工具包的事件。一般来说,轻量级组件产生的事件都是由鼠标或按键事件引起的。

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

于 2009-10-19T15:32:15.323 回答
0

你掌握了所有这些 JInternalFrames 吗?如果是这样,请尝试内部帧侦听器。

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

它指出它类似于 AWT WindowListener。

于 2009-10-19T15:12:16.623 回答
0

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

于 2009-10-19T16:45:44.703 回答