获取编译时错误



我得到以下错误:无法找到符号color b=new color(Color.BLACK);

编辑:我正在尝试创建类color的实例。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
    class eventqueue{
    public static void main(String args[]){

    final JFrame frame=new JFrame("PROGRAM");
    final JPanel panel=new JPanel();
    EventQueue.invokeLater(new Runnable(){
        public void run(){
                final JButton black=new JButton("BLACK");
                panel.add(black);
                frame.add(panel);
                color b=new color(Color.BLACK);
                black.addActionListener(b);
                frame.setVisible(true);
                frame.setSize(400,400);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            class color implements ActionListener{
                public Color c;
                public color(Color bc){
                    c=bc;
                    }
                public void actionPerformed(ActionEvent event){
                    panel.setBackground(c);
                    }
                }
            }
        });
    }
}

由于color是在run()方法中局部声明的类。这个类必须在使用之前声明。

示例代码:

EventQueue.invokeLater(new Runnable() {
    public void run() {
        ...
        // MOVE it HERE
        class color implements ActionListener {
            public Color c;
            public color(Color bc) {
                c = bc;
            }
            public void actionPerformed(ActionEvent event) {
                panel.setBackground(c);
            }
        }
        // Now use it HERE
        color b = new color(Color.BLACK);
        black.addActionListener(b);
        ...
    }
});

声明变量为,

Color b = new Color(Color.BLACK);

修改代码

Color b = new Color(Color.BLACK);

表示Color类。这就是你在代码中想要的东西。

你甚至可以看到Colorcolor都有颜色(我真的是说颜色)的差异。

为变量名,大写为类名。

最新更新