のインセットを設定する方法はありJFrame
ますか? 私は試した
frame.getContentPane().getInsets().set(10, 10, 10, 10);
と
frame.getInsets().set(10, 10, 10, 10);
しかし、どれも機能していないようです。
JPanel contentPanel = new JPanel();
Border padding = BorderFactory.createEmptyBorder(10, 10, 10, 10);
contentPanel.setBorder(padding);
yourFrame.setContentPane(contentPanel);
つまり、基本的にcontentPanel
は、フレームのメイン コンテナーです。
Insets
ofをオーバーライドするJFrame
ことは、実際の問題に対する解決策ではありません。あなたの質問に答えるために、のインセットを設定することはできませんJFrame
。JFrame を拡張し、getInsets
メソッドをオーバーライドして、必要なインセットを提供する必要があります。
LayOutConstraint のオブジェクトを作成し、そのインセットを設定する必要があります。以下の例のように、GridBagLayout() を使用し、GridBagConstraint() オブジェクトを使用しました。
GridBagConstraints c = new GridBagConstraints();
JPanel panel = new JPanel(new GridBagLayout());
c.insets = new Insets(5, 5, 5, 5); // top, left, bottom, right
c.anchor = GridBagConstraints.LINE_END;
// Row 1
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.LINE_START;
panel.add(isAlgoEnabledLabel, c);