私は動的な JDialogs を構築しています。JPanel がいくつかあります。メニュー オプションを選択すると、モーダル JDialog が作成され、JPanel が追加されて表示されます。
JDialog dlg = new JDialog(this, title, true);
dlg.getContentPane().add(panel);
dlg.pack();
dlg.setLocationRelativeTo(null);
dlg.setVisible(true);
アプリは正常に動作していますが、JDialog の境界線と追加されたパネルの間にスペースがなく、非常に「いっぱい/引き伸ばされた」ように見えます (申し訳ありませんが、これを言う方法がわかりません)。おそらく問題は、私が JDialog.pack() を呼び出していることですが、実行時にパネルのサイズがわからないため、寸法なしで JDialog を作成し、コンテンツを追加した後にパックします。
私の質問は、パネルの周りにスペースを追加するにはどうすればよいですか?
考えられる解決策の 1 つは、BorderLayout を追加し、パネルを中央に配置し、4 つの固定サイズのパネルを両側に配置することです...しかし、これは醜いハックのようです...