java输出如何居中
控制台输出居中
在Java控制台中实现文本居中输出,可以通过计算文本长度并结合空格填充实现。以下是一个通用方法:
public static void printCentered(String text, int totalWidth) {
int padding = (totalWidth - text.length()) / 2;
System.out.printf("%" + (padding + text.length()) + "s%n", text);
}
调用示例:

printCentered("HELLO WORLD", 50); // 在50字符宽度中居中输出
Swing组件文本居中
对于Swing GUI应用,使用JLabel或JTextField时设置水平对齐方式:
JLabel label = new JLabel("Centered Text", SwingConstants.CENTER);
JTextField field = new JTextField();
field.setHorizontalAlignment(JTextField.CENTER);
JavaFX文本居中
在JavaFX中通过CSS或属性设置:

Label label = new Label("Centered Text");
label.setAlignment(Pos.CENTER);
// 或通过CSS
label.setStyle("-fx-alignment: center;");
HTML渲染居中
当使用JEditorPane等组件渲染HTML时:
JEditorPane pane = new JEditorPane();
pane.setContentType("text/html");
pane.setText("<div style='text-align:center'>Centered Text</div>");
打印布局居中
使用PrintService进行打印时,通过计算页面宽度和文本宽度的差值确定起始位置:
Graphics2D g2d = (Graphics2D) graphics;
FontMetrics fm = g2d.getFontMetrics();
int x = (pageWidth - fm.stringWidth(text)) / 2;
g2d.drawString(text, x, y);






