【发布时间】:2010-08-27 15:00:42
【问题描述】:
我正在编写一个类,它允许其他计算机上的用户控制 JPanel 的内容,以便在共享显示系统中使用。 java.awt.Robot 将允许我执行鼠标点击和键盘输入,但它没有mouseDragged(MouseEvent evt) 方法。我的客户有clientMouseReleased(和Pressed)方法作为MouseAdapter监听器的一部分,看起来像:
private void clientMouseReleased(java.awt.event.MouseEvent evt)
{
try
{
switch (evt.getButton())
{
case 1:
remoteDesktop.mouseRelease(evt.getX(), evt.getY(), InputEvent.BUTTON1_MASK);
break;
case 2:
remoteDesktop.mouseRelease(evt.getX(), evt.getY(), InputEvent.BUTTON2_MASK);
break;
case 3:
remoteDesktop.mouseRelease(evt.getX(), evt.getY(), InputEvent.BUTTON3_MASK);
break;
}
}
catch (Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
其中remoteDesktop 是一个包含java.awt.Robot 的类,它在客户端调用的方法中执行Robot.mouseMove 和Robot.mouseRelease(或Robot.mousePress)。我希望能够以相同的方式编写mouseDragged,即像这样:
private void clientMouseDragged(java.awt.event.MouseEvent evt)
{
try
{
switch (evt.getButton())
{
case 1:
remoteDesktop.mouseDragged(evt.getX(), evt.getY(), InputEvent.BUTTON1_MASK);
break;
case 2:
remoteDesktop.mouseDragged(evt.getX(), evt.getY(), InputEvent.BUTTON2_MASK);
break;
case 3:
remoteDesktop.mouseDragged(evt.getX(), evt.getY(), InputEvent.BUTTON3_MASK);
break;
}
}
catch (Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
【问题讨论】:
标签: java mouseevent awtrobot