當我拖動鼠標時,繪製或設置JPanel的大小時出現問題, 我設置的位置在單擊位置,大小取決於拖動位置(X和Y)繪製可調整大小的矩形(JPanel中)。使用Java中的MouseDragged繪製故障
private void panelMouseDragged(java.awt.event.MouseEvent evt) {
rSX = (int)MouseInfo.getPointerInfo().getLocation().getX();
rSY = (int)MouseInfo.getPointerInfo().getLocation().getY();
rectanguloDefault.setBounds(rX,rY,rSX-rX,rSY-rY);
}
private void panelMousePressed(java.awt.event.MouseEvent evt) {
rX = (int)MouseInfo.getPointerInfo().getLocation().getX();
rY = (int)MouseInfo.getPointerInfo().getLocation().getY();
rectanguloDefault.setLocation(rX,rY);
}
但是當我拖動鼠標在點擊的負座標(繪圖開始)它消失。
這裏更好的解釋 http://i.picasion.com/resize80/49c88c55d4c11c53c020acfcc4fc2f45.png
當MouseEvent給出鼠標在生成事件的組件的座標空間內的位置時,爲什麼使用'MouseInfo.getPointerInfo()'?考慮提供一個[可運行的示例](https://stackoverflow.com/help/mcve),它可以證明你的問題。這不是代碼轉儲,而是您正在做的事情的一個例子,它突出了您遇到的問題。這將導致更少的困惑和更好的反應 – MadProgrammer
噢好吧,我會忘記,可以得到與mouseEvent位置:p – Refer