Java 获取JColorChooser的颜色名称
我正在与JFrame合作。在设计视图中,我放置了一个JBUtton、两个JTextField和swing windows JColorChooser。然后我写了一个代码,在两个JTextField中获取十六进制值和颜色名称。过程是,如果我单击JButton,它将打开JColorChooser调色板,然后我单击JColorChooser选择一种颜色,它在一个JTextField中显示相应的颜色十六进制值,在另一个JTextField中显示颜色名称。但我可以得到十六进制值,但我不知道如何才能得到颜色名称Java 获取JColorChooser的颜色名称,java,jframe,Java,Jframe,我正在与JFrame合作。在设计视图中,我放置了一个JBUtton、两个JTextField和swing windows JColorChooser。然后我写了一个代码,在两个JTextField中获取十六进制值和颜色名称。过程是,如果我单击JButton,它将打开JColorChooser调色板,然后我单击JColorChooser选择一种颜色,它在一个JTextField中显示相应的颜色十六进制值,在另一个JTextField中显示颜色名称。但我可以得到十六进制值,但我不知道如何才能得到颜色
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import java.util.Set;
import javax.accessibility.*;
import javax.swing.colorchooser.ColorSelectionModel;7.
public class Main extends JComponent implements Accessible
{
public ColorSelectionModel selectionModel;
public static final String SELECTION_MODEL_PROPERTY = "selectionModel";
public JColorChooser chooser;
public Color color;
public void process()
{
JFrame frame;
JButton button ;
final JTextField text1,text2;
chooser = new JColorChooser();
frame= new JFrame();
JPanel panel = new JPanel();
button = new JButton("Show color Palette");
text1 = new JTextField(20);
text2 = new JTextField(20);
frame.add(panel);
panel.add(button);
panel.add(text1);
panel.add(text2);
panel.add(chooser);
chooser.setVisible(false);
button.setLocation(800,600);
button.setActionCommand("");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
color = chooser.showDialog(chooser, "SHOW THE COLOR", chooser.getColor());
{
if(color!= null)
{
String hex = Integer.toHexString(color.getRGB() & 0xffffff);
hex="#"+hex;
text1.setText(hex);
}
}
}
});
frame.setVisible(true);
frame.setSize(1000,800);
}
public static void main( String [] argv)
{
Main m1 = new Main();
m1.process();
}
}
</pre></code>
大多数颜色都没有名字。您的映射只能从另一侧工作。另外,您所说的按名称获取颜色是什么意思?大多数颜色没有名字。例如,新颜色220、121、20的名称是什么?我已经看过同样的问题无数次了,所以,你似乎错过了检查!!Regard您的答案的可能副本作为评论比作为答案更好。如果您有任何其他解决此问题的方法。