JLabel JComponent 의 하위 클래스입니다. JLabel의 클래스 및 객체는 GUI에 대한 텍스트 지침 또는 정보를 제공합니다. JLabel은 읽기 전용 텍스트 한 줄을 표시할 수 있습니다. 이미지 또는 둘 다 텍스트 및 이미지 . JLabel PropertyChangeListener 를 명시적으로 생성할 수 있습니다. 상호 작용.
기본적으로 JLabel은 텍스트를 가로로 표시할 수 있으며 JLabel 텍스트를 회전할 수 있습니다. rotate()를 구현하여 Graphics2D 방법 paintComponent() 내부의 클래스
구문
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();
}
} 출력
