e881. removing a color chooser panel from a jcolorchooser dialog.txt

来自「这里面包含了一百多个JAVA源文件」· 文本 代码 · 共 53 行

TXT
53
字号
Removing chooser panels is simply a matter of removeChooserPanel(). The issue is to identify the panels that are to be kept. There are three chooser panels in the default JColorChooser dialog. Although each is implemented by a class in the javax.swing.colorchooser package, these classes are not public. This example demonstrates how to identify these panels by class name. 
    JColorChooser chooser = new JColorChooser();
    
    // Retrieve the current set of panels
    AbstractColorChooserPanel[] oldPanels = chooser.getChooserPanels();
    
    // Remove panels
    for (int i=0; i<oldPanels.length; i++) {
        String clsName = oldPanels[i].getClass().getName();
        if (clsName.equals("javax.swing.colorchooser.DefaultSwatchChooserPanel")) {
            // Remove swatch chooser if desired
            chooser.removeChooserPanel(oldPanels[i]);
        } else if (clsName.equals("javax.swing.colorchooser.DefaultRGBChooserPanel")) {
            // Remove rgb chooser if desired
            chooser.removeChooserPanel(oldPanels[i]);
        } else if (clsName.equals("javax.swing.colorchooser.DefaultHSBChooserPanel")) {
            // Remove hsb chooser if desired
            chooser.removeChooserPanel(oldPanels[i]);
        }
    }
    
    // This preview pane simply displays the currently selected color.
    public class MyPreviewPane extends JComponent {
        // The currently selected color
        Color curColor;
    
        public MyPreviewPane(JColorChooser chooser) {
            // Initialize the currently selected color
            curColor = chooser.getColor();
    
            // Add listener on model to detect changes to selected color
            ColorSelectionModel model = chooser.getSelectionModel();
            model.addChangeListener(new ChangeListener() {
                public void stateChanged(ChangeEvent evt) {
                    ColorSelectionModel model = (ColorSelectionModel)evt.getSource();
    
                    // Get the new color value
                    curColor = model.getSelectedColor();
                }
            }) ;
    
            // Set a preferred size
            setPreferredSize(new Dimension(50, 50));
        }
    
        // Paint current color
        public void paint(Graphics g) {
            g.setColor(curColor);
            g.fillRect(0, 0, getWidth()-1, getHeight()-1);
        }
    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?