我想将JComponent
上的文字旋转到垂直方向,JComponent
还包含用paintComponent
方法绘制的边框,我不想旋转该边框,仅文本。
我已经使用了graphics2D
rotate
函数,但它也会旋转组件边框,当组件为矩形时会失败。
请建议我任何approch只旋转文字。 这是我目前的JComponent:
我想要的是什么:
实际上它并不重复。我已使用下面的代码:
Graphics2D g2 = (Graphics2D) g;
g2.rotate(Math.PI / 4, bi.getWidth() / 2, bi.getHeight() / 2);
但问题是,它还会旋转边框,我不想要它。
答案 0 :(得分:-1)
请记住Graphics
对象中有很多状态。这包括当前的转型。您当前的代码会修改状态,但不会将其恢复到原始状态。
绘制图像后,您应该“撤消”旋转。这可以通过在另一个方向上旋转或通过专门创建新的图形对象(g2.create()
)来绘制旋转的内容来完成。如果您执行后者,请确保dispose()
您创建的临时图形对象。