전 인터넷을 검색했지만 원이 왜 JFrame의 중간에서 왜곡 된 것처럼 보일 수 없었습니다 (미안하지만, 이미지를 게시하는 데 10 개의 평판이 필요했기 때문에 미안합니다) . 내 코드를 검사했지만 오류가 발견되지 않았습니다. Java GUI 프로그래밍의 초보자입니다. 당신이 패널에 MouseMotionListener
를 추가하지 않아도 당신은 결코 당신의 패널에 init()
를 호출하지 않습니다자바에서 MouseMotionListener와 JPanel을 결합하는 방법
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class test1 extends JPanel implements MouseMotionListener
{
private static final long serialVersionUID = -2068330714634802982L;
public int Mousex,Mousey;
public void init()
{
addMouseMotionListener(this);
}
public void mouseMoved(MouseEvent e)
{
Mousex=e.getX();
Mousey=e.getY();
repaint();
}
public void mouseDragged(MouseEvent e){}
public void paintComponent(Graphics g)
{
Graphics2D g2=(Graphics2D)g;
g2.setColor(Color.GREEN);
g2.fillOval(Mousex,Mousey,50,50);
}
public static void main(String[] args)
{
test1 t=new test1();
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(1305,650);
frame.setLocationRelativeTo(null);
frame.getContentPane().add(t);
frame.setResizable(true);
frame.setVisible(true);
}
}
마우스가 현재 위치에있는 사각형을 그릴 수 없습니다. –
이 정보를 포함하려면 질문을 편집해야합니다. – RustyTheBoyRobot