2

だから私はこのようなものを作成したい:

ここに画像の説明を入力

最後に、私はいくつかの進歩を遂げていますが、ボタンが中央に配置されていない理由と、ボタンの間にギャップが作成されていない理由について混乱しています.

これが私のコードです:

canvas.setLayout(new BoxLayout(canvas, BoxLayout.X_AXIS));

//buttons
final JButton btn1 = new JButton(play);
btn1.setBorder(BorderFactory.createEmptyBorder());
btn1.setContentAreaFilled(false);
btn1.setAlignmentX(Component.CENTER_ALIGNMENT);
btn1.getModel().addChangeListener(new ChangeListener() {
    @Override
    public void stateChanged(ChangeEvent e) {
        ButtonModel model = (ButtonModel) e.getSource();
        if (model.isRollover())
            btn1.setRolloverIcon(playro);
    }
});
final JButton btn2 = new JButton(instructions);
btn2.setBorder(BorderFactory.createEmptyBorder());
btn2.setContentAreaFilled(false);
btn2.setAlignmentX(Component.CENTER_ALIGNMENT);
btn2.getModel().addChangeListener(new ChangeListener() {
    @Override
    public void stateChanged(ChangeEvent e) {
        ButtonModel model = (ButtonModel) e.getSource();
        if (model.isRollover())
            btn2.setRolloverIcon(instructionsro);
    }
});     

canvas.add(btn1);
canvas.add(Box.createHorizontalStrut(10));
canvas.add(btn2);

これはそれが作成するものです:

ここに画像の説明を入力

私は何を間違っていますか?

編集:ボタン間のギャップの問題を修正しました。キャンバスに追加していないことに気付きました。ただし、アライメントの問題とはまだ混乱しています。

4

1 に答える 1