【发布时间】:2016-03-08 03:41:15
【问题描述】:
所以我已经开始创建一个面板,其中包含两个标签和一个按钮,它们通过框布局在 Y 轴上对齐。
我现在正试图让文本对齐到面板的中心以及 Y 轴上以保持整洁。
这是我现在拥有的代码:
JPanel statPanel = new JPanel();
statPanel.setBorder(BorderFactory.createTitledBorder("Text Statistics"));
statPanel.add((averageLength = new JLabel("The average length of the words: ")));
statPanel.add((totalWords = new JLabel("The total number of words: ")));
//Create button inside statPanel
statPanel.add((stats = new JButton("Update Text Statistics")));
stats.addActionListener(new ButtonListener());
statPanel.setOpaque(false);
statPanel.setLayout(new BoxLayout(statPanel, BoxLayout.Y_AXIS));
如您所见,我已经使用 BoxLayout 来获得垂直对齐,并且我尝试了以下代码,这似乎根本没有影响我的情况(而且看起来很冗长):
averageLength.setHorizontalAlignment(SwingConstants.CENTER);
averageLength.setVerticalAlignment(SwingConstants.CENTER);
totalWords.setHorizontalAlignment(SwingConstants.CENTER);
totalWords.setVerticalAlignment(SwingConstants.CENTER);
stats.setHorizontalAlignment(SwingConstants.CENTER);
stats.setVerticalAlignment(SwingConstants.CENTER);
如果您能给我建议,将不胜感激! 谢谢
【问题讨论】:
标签: java swing jpanel jlabel boxlayout