<分区>
Possible Duplicate:
How to draw a rectangle on a java applet using mouse drag event and make it stay
你好。 我想知道如何使用 mousedragged 事件绘制矩形。我知道我必须使用 Point 类记录鼠标位置。我需要在 paint 方法中实现 paint 函数并在 mousedragged 中调用它,或者我的 paint 代码应该在 mousedragged 事件中实现?
此时我把我的代码放在了鼠标拖动事件中。这是代码:
@Override
public void mousePressed(MouseEvent e)
{
super.mousePressed(e);
System.out.println("f.getGlassPane() mousePressed");
if(e.getButton() == MouseEvent.BUTTON1)
frame.getGlassPane().setVisible(true);
startPoint=e.getPoint();
Graphics2D g = null;
Graphics2D g2 = (Graphics2D) g;
Rectangle2D prostokat = new Rectangle2D.Double();
prostokat.setFrameFromDiagonal(e.getPoint().x, e.getPoint().y,startPoint.x, startPoint.y);
g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5F));
g2.setColor(Color.BLUE);
g2.fill(prostokat);
g2.draw(prostokat);
}
});