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(); } }
출력