⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e791. customizing the editor in a jspinner component.txt

📁 这里面包含了一百多个JAVA源文件
💻 TXT
字号:
This example replaces the default editor (a JFormattedTextField) in a spinner component with a custom editor. The custom editor is simply a panel that displays a color. The name of the color to display is stored in a SpinnerListModel. 
    // Create a color spinner
    ColorSpinner spinner = new ColorSpinner(
        new String[]{"red", "green", "blue"});
    
    // Change the selected color
    spinner.setValue("blue");
    
    public class ColorSpinner extends JSpinner {
        public ColorSpinner(String[] colorNames) {
            super();
            setModel(new SpinnerListModel(colorNames));
            setEditor(new Editor(this));
        }
    
        public class Editor extends JPanel implements ChangeListener {
            int preferredWidth = 30;
            int preferredHeight = 16;
    
            Editor(JSpinner spinner) {
                // Add the listener
                spinner.addChangeListener(this);
    
                // Set the preferred size
                setPreferredSize(new Dimension(preferredWidth, preferredHeight));
    
                // Display the current color
                setColor((String)spinner.getValue());
            }
    
            // Handles changes to the value stored in the model
            public void stateChanged(ChangeEvent evt) {
                JSpinner spinner = (JSpinner)evt.getSource();
    
                // Get the new value
                String value = (String)spinner.getValue();
    
                // Update the displayed color
                setColor(value);
            }
    
            // Updates the displayed color to 'colorName' which must be one
            // of the predefined colors in java.awt.Color.
            public void setColor(String colorName) {
                try {
                    // Find the field and value of colorName
                    Field field = Class.forName("java.awt.Color").getField(colorName);
                    Color color = (Color)field.get(null);
    
                    // Display the color
                    setBackground(color);
                } catch (Exception e) {
                }
            }
        }

⌨️ 快捷键说明

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