JDialog での命令型コンポーネントの追加
Swing ベースのアプリケーションを操作する場合、UI 要素を効率的に管理することが重要です。この記事では、コンポーネントを JDialog に動的に追加するという共通の課題について詳しく説明します。
シナリオ
JDialog 上のボタンが JLabel の追加をトリガーするシナリオを想像してください。と JTextField、ダイアログを次のように変換します:
[ボタンの前のダイアログの画像click]
To:
[ボタンクリック後のダイアログの画像]
問題
ただし、ダイアログに新しいコンポーネントを追加すると、失敗することがよくあります。ダイアログは変更されず、開発者は頭を悩ませています。
解決策
新しいコンポーネントをダイアログにうまく組み込むためには、次の事項に従うことが不可欠です。手順:
例
解決策を説明するために、次のコードを検討してください。スニペット:
@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 中国語 Web サイトの他の関連記事を参照してください。