首页javajtextfieldJava Swing - 如何在运行时更改文本字段的水平对齐

Java Swing - 如何在运行时更改文本字段的水平对齐

我们想知道如何在运行时更改文本字段的水平对齐。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JTextField;

public class Main {

  public static void main(String[] args) {

    final JTextField tf = new JTextField("press <enter>", 20);
    tf.setHorizontalAlignment(JTextField.RIGHT);

    tf.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        int old = tf.getHorizontalAlignment();
        if (old == JTextField.LEFT)
          tf.setHorizontalAlignment(JTextField.RIGHT);
        if (old == JTextField.RIGHT)
          tf.setHorizontalAlignment(JTextField.CENTER);
        if (old == JTextField.CENTER)
          tf.setHorizontalAlignment(JTextField.LEFT);
      }
    });

    JFrame frame = new JFrame("JTextFieldExample");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().setLayout(new java.awt.FlowLayout());
    frame.getContentPane().add(tf);
    frame.setSize(275, 75);
    frame.setVisible(true);
    tf.requestFocus();
  }
}