Java JColorChooser中的错误
我使用JColorChooser编写了一个简单的代码,允许用户从面板中选择颜色。但我一直在犯一个错误。GUI代码有一个按钮,当用户单击该按钮时,该按钮执行打开颜色面板的操作。请帮我纠正错误Java JColorChooser中的错误,java,Java,我使用JColorChooser编写了一个简单的代码,允许用户从面板中选择颜色。但我一直在犯一个错误。GUI代码有一个按钮,当用户单击该按钮时,该按钮执行打开颜色面板的操作。请帮我纠正错误 import java.awt.event.*; import java.awt.*; import javax.swing.*; class Colour1 implements ActionListener { JFrame f; JPanel p; JButton b;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class Colour1 implements ActionListener
{
JFrame f;
JPanel p; JButton b;
Colour1()
{
f=new JFrame();
p=new JPanel();
b=new JButton("choose");
}
void configure()
{
f.add(p);
f.setSize(200,200); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p.add(b);
b.addActionListener(this);
f.setVisible(true);
}
public void actionPerformed(ActionEvent ae)
{Color initialcolor=Color.RED;
Color color=JColorChooser.showDialog(this,"Select a color",initialcolor); //ERROR found at this statement.
p.setBackground(color);
}
public static void main(String args[])
{
Colour1 c=new Colour1();
c.configure();
}
}
您正在将
此
作为组件参数传递,在您的情况下,此
表示ActionListener
,请尝试以下操作:
Color color = JColorChooser.showDialog(f, "Select a color",
initialcolor);
传递JFrame对象可能比传递null更好。为什么要传递JFrame对象?此外,在通过传递组件更改代码后,“f”将编译,但在执行过程中出现错误。错误是:找不到或加载主类颜色。如果传递的组件表示颜色对话框的父级,那么关于当前错误,这是完全不同的问题。