gpt4 book ai didi

java - 鼠标事件在 Java 中不起作用 :

转载 作者:行者123 更新时间:2023-12-01 18:28:00 25 4
gpt4 key购买 nike

MouseEvents 在 Java 中不起作用:当我拖动鼠标时什么也没有发生。该程序应该在拖动时进行绘制。

这是主类:

public class GUI {


public static void main(String[] args) {

simpledrawing xx = new simpledrawing();
JFrame x = new JFrame();
x.add(xx,BorderLayout.SOUTH);
x.add(new JLabel("Drag to draw"),BorderLayout.NORTH);
x.setSize(450,450);
x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
x.setVisible(true);
}

}

这是事件监听器类

public class simpledrawing extends JPanel{
private int pc =0;
private Point[] points = new Point[10000];

public simpledrawing(){
System.out.print("Entered Constructor");
addMouseMotionListener(
new MouseMotionAdapter(){
@Override
public void mouseDragged(MouseEvent e){
System.out.print("Dragging Mouse");
if(pc<points.length){
points[pc] = e.getPoint();
++pc;
repaint();
}
}
});

}

public void paintComponent( Graphics g )
{
super.paintComponent( g );
for( int i=0; i < pc; i++ )
g.fillOval(points[i].x ,points[i].y , 4, 4);
}

最佳答案

public void MouseDragged(MouseEvent e){

Java 区分大小写。方法名称应以小写字符开头:

public void mouseDragged(MouseEvent e){

编辑:

此外,在进行自定义绘制时,您必须重写面板的 getPreferredSize() 方法以返回面板所需的尺寸,否则尺寸为 (0, 0) 并且没有任何内容油漆。

阅读 Swing 教程中关于 Custom Painting 的部分了解更多信息和工作示例。

最后,类名以大写字符开头。遵循 Java 标准,不要制定自己的约定。

关于java - 鼠标事件在 Java 中不起作用 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25349719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com