2011-05-03 33 views
8

我正在尋找具有以下異域屬性的Java GUI編輯器或庫:在運行時可以操作GUI 。也就是說,正在運行的框架可以包含特殊的控件,例如右鍵單擊,使用戶可以向其添加按鈕和其他小部件。用於Java的GUI編輯器,可以在RUNTIME上操作對象

或者,我可以使用一個GUI編輯器,它可以與正在運行的Java程序進行交互。該程序說「請添加一個按鈕」,編輯器向用戶顯示帶有按鈕的調色板。用戶添加一個按鈕並按下它,程序收到一個「按下按鈕」的事件。

有沒有這樣的事情,可以使用現成的,沒有從頭開始寫它?

+2

只是好奇:你爲什麼需要這樣的事情? – 2011-05-03 10:43:04

+0

要將GUI編輯作爲指導活動來實現,例如,由於按鈕丟失而導致測試失敗,請彈出GUI編輯器。 – 2011-05-03 10:45:20

回答

1

任何兼容的JavaBean庫將支持Design Time語義。簡而言之,bean(組件)被理解爲在容器中運行。在設計時,該容器是編輯器的「畫布」,在運行時是(gui)容器層次結構的根。期望bean的作者查詢該狀態標誌並適當地採取行動,例如,在設計時間中改變邊界以包括「手柄」以拖動調整大小等。並且,自然,父組件(其被假定爲各種設計畫布)也期望尊重設計改變,例如,修改佈局以處理調整大小的組件。這就是說,我不相信任何當前的產品可以讓你簡單地在應用程序中隨意切換designtime和runtime。 (a)選擇一個庫和(b)捆綁必要的機器以支持運行應用程序的設計時間,(c)實際上僞裝設計表面(畫布)作爲運行時gui(0128)。 。當然,你只需要支持你感興趣的設計操作,但最重要的是,你正在編寫一個GUI編輯器。

這種方法有什麼好處?那麼,你正在重複使用「組件」,並且大多需要破解容器。

如果我不得不這樣做,我會認真看netbeans,keep this STO question in mind,並從那裏採取。