如何在Java中将JLabel的文本设置为右对齐并垂直居中?

How to set the text of the JLabel to be right-justified and vertically centered in Java?

要将标签组件的文本设置为右对齐并垂直居中,则需要在创建新标签时设置对齐方式。

将标签设置在右侧-

1
JLabel label = new JLabel("Name", JLabel.RIGHT);

在这里,我们设置了标签的大小以及包括前景色和背景色的颜色-

1
2
3
4
label.setPreferredSize(new Dimension(170, 70));
label.setOpaque(true);
label.setBackground(Color.MAGENTA);
label.setForeground(Color.WHITE);

以下是将标签文本设置为右对齐并垂直居中的示例-

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package my;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.WindowConstants;
public class SwingDemo {
 public static void main(String[] args) {
   JFrame frame = new JFrame("Frame");
   frame.setLayout(new FlowLayout());
   JLabel label = new JLabel("Name", JLabel.RIGHT);
   label.setPreferredSize(new Dimension(170, 70));
   label.setOpaque(true);
   label.setBackground(Color.MAGENTA);
   label.setForeground(Color.WHITE);
   Font font = new Font("Serif", Font.BOLD, 18);
   label.setFont(font);
   JTextArea text = new JTextArea();
   text.setText("AMIT");
   font = new Font("Serif", Font.BOLD, 14);
   text.setFont(font);
   frame.add(label);
   frame.add(text);
   frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
   frame.setSize(500, 300);
   frame.setVisible(true);
 }
}

输出量