java - 如何旋转Swing文本?

标签 java swing jlabel

有没有办法以 1 度为步长在 0 到 360(或 -180 到 180)度之间旋转 Swing 文本,例如 JLabel 中的文本?

最佳答案

是的。查看 Graphics2D.rotate()。对于 JLabel,我认为您可以覆盖 paintComponent() 方法来调用 rotate(x),然后调用现有的 paintComponent(),然后调用 rotate(-x)。例如

protected void paintComponent(Graphics g) {
   Graphics2D g2 = ( Graphics2D )g;
   g2.rotate(theta);
   super.paintComponent(g2);
   g2.rotate(-theta);
}

这个我没试过。您可能需要添加偏移量,请参阅 Graphics2D.rotate(double theta, double x, double y)

关于java - 如何旋转Swing文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8563037/

相关文章:

java - swagger codegen 如何创建 .json

java - 如何实现从一个 JTree 到另一个 JTree 的智能拖放?

java - JMenu 在绘制图像的 JPanel 上方留下一个灰色框

java - 滚动条不会出现在具有巨大图像尺寸的 JLabel 中。

Java ImageIcon 到 JLabel 数组

java - ECLIPSE:java.lang.NoClassDefFoundError:无法初始化类 ****

java - jaxb anyelement 命名空间 any 而不是 other

java - Swing : Single AbstractTableModel for multiple objects ? ?

java - 从 jpanel 中绘制和删除 jlabel

java - 当 Fragment.instantiate 优于 MyFragment.newInstance 或 new MyFragment()