我們在 Java 中如何旋轉 JLabel 文字?
JLabel 是 JComponent 類的子類,JLabel 物件為 GUI 提供文字說明或資訊。JLabel 可以顯示一行只讀文字、影像或者文字和影像兩者。JLabel 可以顯式生成一個 PropertyChangeListener 介面。
在預設情況下,JLabel 可以以水平位置顯示文字,我們可以透過在 paintComponent() 中實現 Graphics2D 類的 rotate() 方法來旋轉 JLabel 文字。
語法
public abstract void rotate(double theta, double x, double y)
示例
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
public class RotateJLabelTest extends JFrame {
public RotateJLabelTest() {
setTitle("Rotate JLabel");
JLabel label = new RotateLabel("TutorialsPoint");
add(label, BorderLayout.CENTER);
setSize(400, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
private class RotateLabel extends JLabel {
public RotateLabel(String text) {
super(text);
Font font = new Font("Verdana", Font.ITALIC, 10);
FontMetrics metrics = new FontMetrics(font){};
Rectangle2D bounds = metrics.getStringBounds(text, null);
setBounds(0, 0, (int) bounds.getWidth(), (int) bounds.getHeight());
}
@Override
public void paintComponent(Graphics g) {
Graphics2D gx = (Graphics2D) g;
gx.rotate(0.6, getX() + getWidth()/2, getY() + getHeight()/2);
super.paintComponent(g);
}
}
public static void main(String[] args) {
new RotateJLabelTest();
}
}輸出
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP