2
我正在寫一個類,允許其他計算機上的用戶控制JPanel的內容,以用於共享顯示系統。 java.awt.Robot將允許我執行鼠標單擊和鍵盤輸入,但它沒有mouseDragged(MouseEvent evt)
方法。我的客戶擁有clientMouseReleased
(和Pressed
)方法作爲MouseAdapter
監聽器看起來像的一部分:java.awt.Robot如何響應鼠標拖動事件?
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());
}
}