1. ホーム
  2. java

[解決済み] Layout を代入する際にエラーが発生しました。BoxLayout は共有できません

2022-02-01 18:35:04

質問

私はこのJavaを持っています JFrame クラスでボックスレイアウトを使用したいのですが、次のようなエラーが発生します。 java.awt.AWTError: BoxLayout can't be shared . この問題を持つ他の人を見たことがありますが、彼らはcontentpaneにboxlayoutを作成することで解決しました。以下は私のコードです。

class EditDialog extends JFrame {
    JTextField title = new JTextField();
    public editDialog() {
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setTitle("New entity");
        getContentPane().setLayout(
            new BoxLayout(this, BoxLayout.PAGE_AXIS));
        add(title);
        pack();
        setVisible(true);
    }
}

解決方法は?

あなたの問題は、あなたが作成した BoxLayout に対して JFrame ( this のレイアウトとして設定することができます。 JPanel ( getContentPane() ). 試してみてください。

getContentPane().setLayout(
    new BoxLayout(getContentPane(), BoxLayout.PAGE_AXIS)
);