当前BoxLayout设置[按钮1,按钮2,按钮3 |||||||||||||||||||||||||||||||||||| |||] |表示空白空间。
如何使它出现[按钮1,按钮2,|||||||||||||||||||||||| BUTTON3] 这些按钮是JButtons,boxlayout位于北面的BorderLayout内。
private JPanel makeButtonPanel(ObservableMazeGame observableMazeGame) {
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS));
ButtonPanel buttonPanelMaze = new ButtonPanel(observableMazeGame);
buttonPanel.add(buttonPanelMaze.newGameButton());
buttonPanel.add(buttonPanelMaze.helpButton());
buttonPanel.add(buttonPanelMaze.aboutButton());
return buttonPanel;
}
这是从
添加的 ObservableMazeGame observableMazeGame = new ObservableMazeGame();
JFrame baseFrame = new JFrame();
baseFrame.setTitle("Maze Game");
baseFrame.setLayout(new BorderLayout());
baseFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
baseFrame.add(makeButtonPanel(observableMazeGame), BorderLayout.NORTH);
baseFrame.pack();
baseFrame.setVisible(true);
我只想让第3个按钮向右对齐,即使拉伸,它也会跟随拉伸。我尝试过setAlignment,但它不起作用。
答案 0 :(得分:3)
在button2和button3之间使用水平胶水:
buttonPanel.add(Box.createHorizontalGlue());
有关详细信息,请参阅How to Use BoxLayout。