2011-09-09 16 views
2

我試着用eclipse和Swing的窗口生成器。窗口生成器和擺動的設計時異常

我創建了一個示範項目的計算器使用自定義的JPanel

DigitBoardView extends JPanel 

和分配使用for循環鍵

String[] digits = {"1", ...} 
for(String digit : digits){ 
JButton digButton = new JButton(digit); 
add(digButton); 
} 

1日問題 - DigitBoardView設計者不表現出來, 儘管FAQ表示它不會在設計時生成並顯示運行時依賴的GUI (這是OK),但這裏沒有什麼依賴於運行時。
即使我遍歷位在編譯時間明確知道
for(int i = 0; i < 10; i++)迴路設計並不邊緣

第二個問題 - 的JFrame設計器顯示它! 如果我將JFrame的內容窗格設置爲新DigitBoardView 它將在設計時顯示...

爲什麼這麼奇怪? 這是錯誤嗎?

我應該通過扁平化循環來繞過它嗎?
難道不是很難看嗎?
擊敗不重複自己原則的目的?

+0

你在哪裏有你在上面顯示的JButton創建代碼? –

+0

在我的DigitBoardView(JPanel擴展)的ctor中的權利 – Paul

回答

3

雖然它切到設計問題,你可能想檢查KeyPadPanel,它採用actionskey bindings實現具有簡單GridLayout一個簡單的數字鍵盤。

+1

JPanel設計師在你的例子中仍然忽略for循環,但仍然是一個很好的例子,儘管,謝謝 – Paul

+0

我試圖限制我使用設計器到奇怪的嵌套面板很難保持任何其他方式。 – trashgod