【问题标题】:JColorChooser: hide all default panels and show HSB panel onlyJColorChooser:隐藏所有默认面板并仅显示 HSB 面板
【发布时间】:2012-02-23 04:30:24
【问题描述】:

除了HSB,我如何隐藏JColorChooser 的所有默认面板?

是否可以只显示没有 JTabbedPane 的 HSB,只显示普通面板

谢谢!

【问题讨论】:

    标签: java swing jcolorchooser


    【解决方案1】:
    import javax.swing.*;
    import javax.swing.colorchooser.*;
    
    class ColorChooserTest {
    
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    JColorChooser cc = new JColorChooser();
                    AbstractColorChooserPanel[] panels = cc.getChooserPanels();
                    for (AbstractColorChooserPanel accp : panels) {
                        if (accp.getDisplayName().equals("HSB")) {
                            JOptionPane.showMessageDialog(null, accp);
                        }
                    }
                }
            });
        }
    }
    

    【讨论】:

      【解决方案2】:

      您可以尝试:setChooserPanels JColorChooser 的方法来做到这一点。更多帮助here.

      【讨论】:

        【解决方案3】:

        也可以用简单的循环来完成:

        AbstractColorChooserPanel[] panels = jColorChooser1.getChooserPanels();
        for (AbstractColorChooserPanel accp : panels) {
           if(!accp.getDisplayName().equals("HSB")) {
              jColorChooser1.removeChooserPanel(accp);
           } 
        }
        

        【讨论】:

          【解决方案4】:

          如果你想删除面板,你可以按照这个方法这里我删除除了色板和 RGB 之外的所有其他面板,

          AbstractColorChooserPanel[] panels=colorChooser.getChooserPanels();
                  for(AbstractColorChooserPanel p:panels){
                      String displayName=p.getDisplayName();
                      switch (displayName) {
                          case "HSV":
                              colorChooser.removeChooserPanel(p);
                              break;
                          case "HSL":
                              colorChooser.removeChooserPanel(p);
                              break;
                          case "CMYK":
                              colorChooser.removeChooserPanel(p);
                              break;
                      }
          

          【讨论】:

            猜你喜欢
            • 2016-04-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-07-19
            • 2020-04-19
            • 2011-03-27
            • 1970-01-01
            • 2023-03-03
            相关资源
            最近更新 更多