마우스 위치에서 직사각형을 그리는 데 문제가 있습니다. 마우스를 움직이면 칠해진 직사각형이 마우스 커서 뒤에서 뒤쳐집니다. 직사각형이 마우스에서 정확하게 움직이고 뒤처지지 않는지 확인하는 방법이 있습니까?마우스로 움직일 무언가를 그리는 데 지연이 있습니다.
여기에 약간의 예가 있습니다. 단 하나의 사각형이기 때문에 지연은 매우 미미하지만 거기에 있습니다. 더 큰 프로그램에서 나는 한 번에 한 톤 씩 그리는 중이다.
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.*;
public class MouseTest {
JFrame window;
DrawPanel content;
public MouseTest(){
window = new JFrame("Test");
content = new DrawPanel();
window.setContentPane(content);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setVisible(true);
window.pack();
}
public static void main (String[] args){
MouseTest test = new MouseTest();
}
private class DrawPanel extends JPanel implements MouseMotionListener {
int mouseX;
int mouseY;
private DrawPanel(){
setBackground(Color.BLUE);
setPreferredSize(new Dimension(400,400));
addMouseMotionListener(this);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.RED);
g.fillRect(mouseX, mouseY, 20, 20);
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseMoved(MouseEvent e) {
mouseX = e.getX();
mouseY = e.getY();
repaint();
}
}
}
은 "이중 버퍼링"기본값입니까? ... 그냥 즉시 proove이 –
지연을 재현 할 수 없습니다. – Favonius