Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JColorChooser中的错误_Java - Fatal编程技术网

Java JColorChooser中的错误

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;

我使用JColorChooser编写了一个简单的代码,允许用户从面板中选择颜色。但我一直在犯一个错误。GUI代码有一个按钮,当用户单击该按钮时,该按钮执行打开颜色面板的操作。请帮我纠正错误

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”将编译,但在执行过程中出现错误。错误是:找不到或加载主类颜色。如果传递的组件表示颜色对话框的父级,那么关于当前错误,这是完全不同的问题。