2012-04-27 171 views
0

我有一個使用Quaqua的OSX上運行的Java Swing應用程序。所有的TextFields和TextAreas都有一個右鍵點擊的彈出菜單。這必須由Quaqua完成,因爲它在Swing中不是標準的。Java Quaqua彈出式菜單

我的問題是:

如何設置彈出菜單上我自己的行爲?

請注意。這是一個關於的問題Quaqua彈出式菜單沒有任何Swing彈出式菜單。如果您對Quaqua不熟悉,請不要回答。

+0

你可能會添加動作監聽器 – 2012-04-27 09:15:12

+1

感謝Balaswamy vaddeman,但你有** NOT **回答了這個問題。我知道如何在Swing中添加彈出菜單。問題涉及由Quaqua添加的彈出式菜單不是由我來完成的。 – Lyndon 2012-04-27 10:35:28

回答

1

彈出式菜單與常規菜單相同。 Swing tutorial about menus涵蓋了如何使用它們,如何插入條目......。閱讀該教程應該讓你開始

+0

羅賓,謝謝,但你沒有回答這個問題。我想知道如何更改Quaqua彈出菜單上的默認操作。 Quaqua創建了彈出菜單(不是我),但我需要將Action更改爲我的特殊Action。 – Lyndon 2012-04-27 10:30:04

+0

@Lyndon對不起,我錯誤地解釋了這個問題,我建議你在你的問題中加入這個評論,以使其更清楚。 – Robin 2012-04-27 10:45:45

0

彈出菜單由Quaqua設置可以通過設置客戶端屬性中刪除:

myTextField.putClientProperty("Quaqua.TextComponent.showPopup", Boolean.FALSE); 

然後,您可以添加自己的MouseListener處理創建自己的彈出菜單。

但是,我還沒有想出,但是,使此更改全球,所以我必須在每個文本字段單獨設置客戶端屬性,這有點痛苦。