java如何对齐
Java 中对齐文本的方法
在 Java 中,可以通过多种方式实现文本对齐,具体方法取决于使用场景(如控制台输出、Swing 组件、JavaFX 等)。以下是几种常见的对齐方法:
控制台输出的文本对齐
使用 String.format() 或 System.out.printf() 方法可以方便地实现左对齐、右对齐或居中对齐。格式化字符串中的宽度和标志用于控制对齐方式。
左对齐
String text = "Hello";
System.out.printf("%-10s%n", text); // 宽度为10,左对齐
右对齐
String text = "Hello";
System.out.printf("%10s%n", text); // 宽度为10,右对齐
居中对齐 需要手动计算空格以实现居中对齐:

String text = "Hello";
int totalWidth = 10;
int pad = (totalWidth - text.length()) / 2;
String paddedText = String.format("%" + (pad + text.length()) + "s", text);
System.out.println(paddedText);
Swing 组件中的文本对齐
在 Swing 中,可以通过设置组件的对齐属性实现文本对齐。
JLabel 对齐
JLabel label = new JLabel("Hello");
label.setHorizontalAlignment(SwingConstants.CENTER); // 居中对齐
label.setHorizontalAlignment(SwingConstants.LEFT); // 左对齐
label.setHorizontalAlignment(SwingConstants.RIGHT); // 右对齐
JTextField 对齐

JTextField textField = new JTextField();
textField.setHorizontalAlignment(JTextField.CENTER); // 居中对齐
textField.setHorizontalAlignment(JTextField.LEFT); // 左对齐
textField.setHorizontalAlignment(JTextField.RIGHT); // 右对齐
JavaFX 中的文本对齐
在 JavaFX 中,可以通过设置 Text 或 Label 的对齐属性实现对齐。
Label 对齐
Label label = new Label("Hello");
label.setAlignment(Pos.CENTER); // 居中对齐
label.setAlignment(Pos.CENTER_LEFT); // 左对齐
label.setAlignment(Pos.CENTER_RIGHT); // 右对齐
TextFlow 或 Text 对齐
Text text = new Text("Hello");
text.setTextAlignment(TextAlignment.CENTER); // 居中对齐
text.setTextAlignment(TextAlignment.LEFT); // 左对齐
text.setTextAlignment(TextAlignment.RIGHT); // 右对齐
使用第三方库
如果需要更复杂的对齐功能,可以使用第三方库如 Apache Commons Lang 的 StringUtils:
String text = "Hello";
String centeredText = StringUtils.center(text, 10); // 居中对齐,宽度为10
String leftAlignedText = StringUtils.leftPad(text, 10); // 左对齐
String rightAlignedText = StringUtils.rightPad(text, 10); // 右对齐
以上方法覆盖了 Java 中常见的对齐需求,可以根据具体场景选择适合的方式。






