我用JColorChooser写了一个简单的代码,允许用户从面板中选择颜色。但是我得到了一个贯穿始终的错误。GUI代码有一个按钮,当用户单击它时,该按钮执行打开Color Panel的操作。请帮我纠正这个错误!
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();
}
} 发布于 2014-06-10 02:48:21
您正在将this作为组件参数传递,在本例中,this表示ActionListener,因此尝试如下所示:
Color color = JColorChooser.showDialog(f, "Select a color",
initialcolor);https://stackoverflow.com/questions/24126741
复制相似问题