JDialog 中的命令式元件新增
使用基於 Swing 的應用程式時,有效管理 UI 元素至關重要。本文深入探討了一個常見的挑戰:為 JDialog 動態新增元件。
場景
設想一個場景,其中 JDialog 上的按鈕觸發添加 JLabel和JTextField,將對話方塊轉換為:
[按鈕先前的對話方塊影像點選]
至:
[單按下按鈕後的對話框影像]
問題
但是,嘗試新增對話框的新元件常常被證明是不成功的。對話框保持不變,讓開發人員摸不著頭腦。
解決方案
為了成功地將新元件合併到對話框中,必須遵守以下規則步驟:
範例
為了說明解決方案,請考慮以下程式碼snippet:
@Action public void addNewField() { Container contentPane = getContentPane(); JLabel label = new JLabel("welcome"); label.setBounds(10, 10, 100, 10); // Specify X & Y coordinates contentPane.add(label); contentPane.validate(); contentPane.repaint(); this.pack(); }
依照這些步驟,對話方塊將會動態更新以反映新JLabel 的添加。
其他注意事項
使用某些佈局管理器(例如 NetBeans 中的「自由設計」佈局)時,建議使用setBounds() 方法。這可確保元件出現在對話方塊中的所需位置。
以上是如何在 Swing 中動態新增元件到 JDialog?的詳細內容。更多資訊請關注PHP中文網其他相關文章!