Я работаю с JFrame. В дизайне View i ставится One JBUtton, два JTextField и распашные окна JColorChooser. чем я пишу код для этого получения шестнадцатеричного значения и имени цвета в двух процессах JTextField.the, если я нажму на JButton, он откроет палитру JColorChooser. После этого я нажимаю на JColorChooser для выбора цвета, который отображает соответствующее шестнадцатеричное значение цвета в один JtextField и цветное имя в другом JTextField. но я могу получить шестнадцатеричное значение, но я не знаю, как я могу получить имя цвета.получить имя цвета JColorChooser
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)? –
Я видел этот же вопрос, миллион раз на SO, похоже, вы пропустили проверку! [ПРОЧИТАЕТ ТОЛЬКО ВОПРОС] (http://stackoverflow.com/q/8557762/1057230) [ДРУГОЕ ОДИН] (http://stackoverflow.com/q/8544585/1057230) С уважением –
Возможный дубликат [Преобразование кода цвета Java на цветное имя] (http://stackoverflow.com/questions/4126029/java-color-code-convert-to-color-name) –