私は自分のレイアウトJDialog
をJavaに移植しているプログラムの特定の外観に合わせようとしていますが、以前はいくつかのLayoutManagerを使用して大成功を収めましたが、何らかの理由でこれを取得できないようです。まったく働いています。私の目標は、包含の右側(東)側にJDialog
「次を検索」ボタンと「キャンセル」ボタンを上から下の順序で含め、次に下に余分なスペースを入れて、2つのボタンが常に上部にくるようにすることですJDialog
。何らかの理由BoxLayout
で、の幅を変更しようとする試みを継続的に無視しています(これは私が失われた場所です)JButton
。コードは次のとおりです。
JButton findNext = new JButton("Find Next");
JButton cancel = new JButton("Cancel");
cancel.setPreferredSize(new Dimension((int)findNext.getPreferredSize().getWidth(),
(int)cancel.getPreferredSize().getHeight()));
JPanel example = new JPanel();
example.setLayout(new BoxLayout(example, BoxLayout.Y_AXIS));
example.add(findNext);
example.add(cancel);
example.add(Box.createGlue());
何を試しても、cancel
常に通常のサイズを維持します。私は運がなかったのsetMinimumSize()
とsetMaximumSize()
同じパラメータで試してみました。setPreferredSize
私も試しましcancel.setPreferredSize(new Dimension(500, 500));
たが、ボタンの高さだけが調整されましたが、それでもデフォルトの幅が維持されていました。
質問を解決するために、次のように表示されます(これで完了です)。[次を検索]ボタンと[キャンセル]ボタンのサイズが同じではないことがわかります。