2012-01-21 91 views
-1

我正在使用JFrame。在設計視圖我把一個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> 
+2

此外,你是什麼意思的「按名稱獲取顏色」?大多數顏色沒有「名字」。例如,「新顏色(220,121,20)」的「名稱」是什麼? –

+1

我看過這個同樣的問題,上一百萬次,好像你錯過了檢查它們! [之前提出的問題](http://stackoverflow.com/q/8557762/1057230)[另一個](http://stackoverflow.com/q/8544585/1057230)問候 –

+1

可能重複的[Java顏色代碼轉換到顏色名稱](http://stackoverflow.com/questions/4126029/java-color-code-convert-to-color-name) –

回答

1

大多數顏色沒有類似的名稱。您的映射只能從另一端進行。

+0

你的答案將作爲評論比作爲答案更好。 –

+0

如果有任何其他解決方案的這個問題。 – javasi