您好我正在Java中使用鼠标滚轮事件练习,因此当鼠标滚轮移动时,我制作了一个生长和缩小的圆圈。现在我还想在鼠标指针旁边的屏幕上显示“MousWheel”的大小。谁能告诉我一个如何做到这一点的例子?
这就是我现在所拥有的。
public class MouseWheelPanel extends JPanel implements MouseWheelListener {
private int grootte = 50;
public MouseWheelPanel() {
this.addMouseWheelListener(this);
}
public void paintComponent( Graphics g ) {
super.paintComponent( g );
g.setColor( Color.YELLOW );
g.fillOval( 10, 10, grootte, grootte );
}
public void mouseWheelMoved( MouseWheelEvent e ) {
// TODO Auto-generated method stub
String
grootte += e.getWheelRotation();
repaint();
}
}
答案 0 :(得分:1)
假设您也对定位文本感兴趣。查看FontMetrics。这会将大小字符串置于圆圈中心。
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.YELLOW);
g.fillOval(10, 10, grootte, grootte);
String str = ""+grootte;
FontMetrics fm = g.getFontMetrics();
Rectangle2D strBounds = fm.getStringBounds(str, g);
g.setColor(Color.BLACK);
g.drawString(str, 10 + grootte/2 - (int)strBounds.getWidth()/2, 10 + grootte/2 + (int)strBounds.getHeight()/2);
}