嗨,
我在UI具有動態生成的要求。請看上面的圖片。第1步由帶有jcombobox和jbutton的對話框組成。當我在步驟1中單擊「+」按鈕時,應該將一個新行動態添加到jdialog中,如步驟2所示。同樣,可以使用「+」按鈕添加更多行。按「 - 」按鈕應該刪除該行。另外,JDialog在必要時應該有一個垂直滾動條。我一直在嘗試網格佈局,但無濟於事。任何幫助將不勝感激。
嗨,
我在UI具有動態生成的要求。請看上面的圖片。第1步由帶有jcombobox和jbutton的對話框組成。當我在步驟1中單擊「+」按鈕時,應該將一個新行動態添加到jdialog中,如步驟2所示。同樣,可以使用「+」按鈕添加更多行。按「 - 」按鈕應該刪除該行。另外,JDialog在必要時應該有一個垂直滾動條。我一直在嘗試網格佈局,但無濟於事。任何幫助將不勝感激。
試試這個link有關如何在運行時添加組件和this thread有一個例子來添加/刪除運行時Jbuttons中
好的。我正在添加組件,但未分別在對話框和框架上調用validate和revalidate方法。第一個環節做到了訣竅。謝謝O.D – Will 2012-01-10 10:55:40
我想你的UI應該使用JScrollPane以便能夠在必要時滾動... 我不明白爲什麼GridLayout不可用,你的錯誤是什麼?你在代碼中做了正確的導入嗎? 你能不能給我們更多的細節
傑羅姆
應該保存猜測和問題以徵求意見。 – 2012-01-10 10:47:13
它是可用的,但添加的新組件被擠入面板區域,面板尺寸沒有增加。驗證和重新驗證方法取得了訣竅。 – Will 2012-01-10 10:57:00
您將需要一個JScrollPane
從一開始。幸運的是,JScrollPane
允許您在不需要時自動顯示/隱藏滾動條。請參閱JScrollPane#set*ScrollBarPolicy
。
對於您的面板,您將不得不使用允許動態添加組件的佈局,例如FlowLayout
。一個非核心的Java佈局,也可以用於這種情況是帶動態行構建器的JGoodies FormLayout
。這FormLayout
將允許保留在屏幕截圖中使用的列,同時允許在運行時動態添加行。
嗯好回答+1 – mKorbel 2012-01-10 11:51:54
發佈您的代碼。 – 2012-01-10 17:38:19