我正在编写一个类,它允许其他计算机上的用户控制 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());
}
}