java如何居中
文本居中
在Java中,可以通过以下方式实现文本居中显示:
使用 String.format() 方法
通过计算左右填充空格实现居中:
String text = "Hello";
int totalWidth = 20;
int padSize = (totalWidth - text.length()) / 2;
String centered = String.format("%" + padSize + "s%s%" + padSize + "s", "", text, "");
System.out.println(centered);
使用 StringUtils.center()(Apache Commons Lang)
如果项目中引入了 Apache Commons Lang 库,可以直接调用:
import org.apache.commons.lang3.StringUtils;
String text = "Hello";
String centered = StringUtils.center(text, 20);
System.out.println(centered);
Swing 组件居中
在 Swing 中,可以通过布局管理器实现组件居中:

使用 BorderLayout
将组件放在 BorderLayout.CENTER 位置:
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.add(new JLabel("Centered Label"), BorderLayout.CENTER);
frame.setSize(300, 200);
frame.setVisible(true);
使用 GridBagLayout
通过 GridBagConstraints 设置居中:
JFrame frame = new JFrame();
frame.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
frame.add(new JLabel("Centered Label"), gbc);
frame.setSize(300, 200);
frame.setVisible(true);
JavaFX 文本居中
在 JavaFX 中,可以通过 setAlignment() 方法实现文本居中:

Label 居中
Label label = new Label("Centered Text");
label.setAlignment(Pos.CENTER);
布局居中
使用 VBox 或 HBox 结合 setAlignment():
VBox vbox = new VBox();
vbox.setAlignment(Pos.CENTER);
vbox.getChildren().add(new Label("Centered Text"));
控制台图形居中
在控制台打印图形时,可以通过计算空格实现居中:
int consoleWidth = 80;
String line = "";
int padding = (consoleWidth - line.length()) / 2;
System.out.println(" ".repeat(padding) + line);
以上方法适用于不同场景下的居中需求,可根据具体需求选择合适的方式。






