旋转JButton的文本

时间:2011-01-04 08:21:07

标签: java swing rotation jbutton

我希望我的JButton在其悬停时稍微旋转其文本(而不是整个按钮)。我该怎么做?

2 个答案:

答案 0 :(得分:2)

听起来你需要做两件事:

  • 构建一个显示所需效果的自定义绘制方法。
  • 向按钮添加鼠标移动侦听器以检测应该激活效果。
祝你好运,我希望这会有所帮助!

答案 1 :(得分:2)

“稍微旋转文字”是什么意思?这样做的目的是什么。当您旋转文本时,当您到达按钮的边缘时,顶部和底部将被剪裁。

我认为基本代码类似于:

public void paintComponent(Graphics g)
{
    if (mouseOver)
    {
        Graphics2D g2d = (Graphics2D)g;
        g2d.rotate(...);
        super.paintComponent(g2d);
        g2d.rotate(...);
    }
    else
        super.paintComponent(g);
}

而不是旋转可能更好的解决方案是将文本向上/向下移动几个像素,然后您不必担心截断。基本代码应该相同,但你可以使用translate(...)方法。