【问题标题】:get a color name of JColorChooser获取 JColorChooser 的颜色名称
【发布时间】:2012-01-21 12:30:37
【问题描述】:

我正在使用 JFrame。在设计视图中,我放置了一个 JBUtton、两个 JTextField 和摇摆窗口 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>

【问题讨论】:

标签: java jframe


【解决方案1】:

大多数颜色都没有名字。您的映射只能从另一侧起作用。

【讨论】:

  • 您的答案作为评论比作为答案更好。
  • 如果有其他解决方案。
猜你喜欢
  • 2011-11-27
  • 2016-02-02
  • 1970-01-01
  • 2016-09-06
  • 2013-08-11
  • 1970-01-01
  • 2021-04-03
  • 2012-03-02
  • 2015-05-09
相关资源
最近更新 更多