2009-10-19 42 views
0

我試圖國際化Java小程序,並且支持從右向左書寫的腳本。我想爲所有添加到視圖中的java組件自動設置組件方向。傾聽所有JInternalFrame事件 - Java

我的解決方案迄今已聽取所有的AWTEvent的使用windows面膜:

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

...,然後設置的C/O上的每個窗口增加,以及添加成分聽衆集合C/o在稍後添加到窗口的任何組件上。

我的問題是JInternalFrames不是由這個解決方案處理的,我希望能夠爲這些事件添加另一個偵聽器,就像我爲Windows所做的一樣。有任何想法嗎?

或者,有沒有更好的方法來處理小程序中所有組件的腳本方向?

回答

0

將ContainerListener添加到JDesktopPane。隨着組件添加到桌面,您可以更改其方向。

+0

我已經有這個,但認爲它不工作...我現在意識到這是另一個問題,導致問題。不管怎麼說,還是要謝謝你。 – 2009-10-23 16:54:14

0

AWTEventListener對目前的Toolkit只會給你來自工具包的事件。通常由輕量級組件生成的事件將由鼠標或鍵盤事件引起。

要求一個過程中的所有東西通常是一個非常糟糕的跡象。低級別的代碼是爲整個程序制定策略。一種更好的方法是在「創建」之前將偵聽器添加到創建組件的位置附近。這是重複的代碼,但你可能已經有了重複的代碼。因此,將因素納入一種方法。那麼你只有一個地方要更新,除非你有任何不適用的情況,這會破壞全球方法。