java - 执行mouselistener的java代码错误

标签 java swing

嗨,我正在我的程序中执行鼠标监听器操作,我正在制作一个颜色 jpanel,当用户单击面板时,它会更改其颜色,但一行代码会出现一些错误,例如在代码中创建类 e,但 e 已声明为事件类的实例请帮助我,下面是我的代码。错误位于“panel.addMouseListener(e);”这一行中。

'import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class randomcolor extends JFrame{
    JPanel panel;
    public randomcolor (){
        panel=new JPanel();
        panel.setBackground(rancolor());
        add(panel);
    }

    event e =new event();
    panel.addMouseListener(e);

    public Color rancolor(){
        int r= (int) (Math.random()*256);
        int g= (int) (Math.random()*256);
        int b= (int) (Math.random()*256);
        return (new Color(r,g,b));
    }

    public class event implements MouseListener{
        public void mouseClicked(MouseEvent e) {
            panel.setBackground(rancolor());
        }
        public void mousePressed(MouseEvent e) {
        }
        public void mouseReleased(MouseEvent e) {
        }
        public void mouseEntered(MouseEvent e) {
        }
        public void mouseExited(MouseEvent e) {
        }
    }

    public static void main (String args[]){
        randomcolor gui=new randomcolor();
        gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        gui.setVisible(true);
        gui.setSize(300, 300);
        gui.setTitle("color panel");
    }
} 

最佳答案

event e = new event()中的Event大写。它可能应该是Event e = new Event()代码中的格式看起来很奇怪;这也可能隐藏其他格式错误

现在代码格式正确,我可以看到另一个问题;你可能本来想拥有

Event e = new Event();
panel.addMouseListener(e);

在构造函数内,而不是右大括号之后。

关于java - 执行mouselistener的java代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11851785/

相关文章:

java - 设置 STRUCT 类型的默认值时 Kafka Connect API 错误

java -pojo 对象实例化是在循环外部还是内部?

java - 使用 JAVA API 的 SOLR 索引

java - 如何防止闪烁?

java - 确定多行文本组件中文本的 XY 位置

Java Swing - 在多个面板或单个面板中更有效地绘制

java - java反射中的ConfigurationBuilder、FilterBuilder、Scanners

java - Sonar PicoLifecycleException

java - 修改 JTable 中不同行的单元格编辑器

java - 如何获取 JTextField 的真实 x 和 y 坐标