我尝试JLabel
根据选定的角度 30、90 等旋转文本。我写了CustomJLabel
课:
public CustomJLabel extends JLabel {
private int angle=360; //setter and getters
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Rectangle rectangle = g2d.getClipBounds();
g2d.rotate((getAngle() * java.lang.Math.PI) / 4, rectangle.getCenterX(), rectangle.getCenterY());
}
}
主.java:
CustomJLabel cst=new CustomJLabel ();
cst.setAngle(value);
cst.repaint();
cst.setSize(getPrefferedsize());
运行上述代码时。它根据角度正确旋转了文本。但它不正确的矩形形状。请检查以下图片。
水平 (360)
垂直 (90)
请观察红色圆圈,图像垂直 90 度并检查。这是缺少的顶线和底线JLabel
。为什么它不见了?