我收到以下错误:找不到符号color b=new color(Color.BLACK);
编辑:我正在尝试创建类颜色的实例。
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);
}
}
}
});
}
}
答案 0 :(得分:0)
将变量声明为,
Color b = new Color(Color.BLACK);
答案 1 :(得分:0)
更改您的代码
Color b = new Color(Color.BLACK);
表示Color类。您希望代码中包含哪些内容。
您甚至可以看到Color
和color
的颜色(我的意思是说颜色)差异。小写是变量名,大写是类名。
答案 2 :(得分:0)
由于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);
...
}
});
注意:关注Java Naming convention。