sliderlistener.java

来自「此类为” 颜色对话框“中滑动条的监视其值改变的监听器类」· Java 代码 · 共 73 行

JAVA
73
字号
/*************************************************************************************
* 类名: SliderListener                                                               
*                                                                    
* 功能: 此类为” 颜色对话框“中滑动条的监视其值改变的监听器类
*                                                                
**************************************************************************************/
package edit.com;

import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
import java.awt.Color;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.JTextArea;

class SliderListener implements ChangeListener {
    private Color color;
    private int[] value = new int[4];
    private JSlider[] sliders;
    private JTextField[] texts;
    private JTextArea showText;
    private EditColorState state;
    private EditColorTools tool = new EditColorTool();

    SliderListener( JSlider[] aSliders , JTextField[] aTexts ,
                    JTextArea aShowText , EditColorState aState ) {
        sliders = aSliders;
        texts = aTexts;
        showText = aShowText;
        state = aState;

    }

    public void stateChanged( ChangeEvent c )
    {
        int[] rgbs = new int[4];

        for ( int i = 0 ; i < 4 ; i++ ) {
            value[i] = sliders[i].getValue();
            rgbs[i] = sliders[i].getValue();
        }

        state.setRgbs( rgbs );

    //set the value of text and showText
        if ( sliders[0].equals( ( JSlider )c.getSource() ) ) {
            texts[0].setText( String.valueOf( value[0] ) );

            color = new Color( value[0] , value[1] , value[2] );
            tool.setShowText( showText , color );
            return;
        }else if ( sliders[1].equals( ( JSlider )c.getSource() ) ) {
         texts[1].setText( String.valueOf( value[1] ) );

         color = new Color( value[0] , value[1] , value[2] );
         tool.setShowText( showText , color );
         return;
        }else if( sliders[2].equals( ( JSlider )c.getSource() ) ) {
         texts[2].setText( String.valueOf( value[2] ) );

         color = new Color( value[0] , value[1] , value[2] );
         tool.setShowText( showText , color );
         return;
        }else if ( sliders[3].equals( ( JSlider )c.getSource() ) ) {
         texts[3].setText( String.valueOf( value[3] ) );

         color = new Color( value[3] , value[3] , value[3] );
         tool.setShowText( showText , color );
         return;
        }
    }
}

⌨️ 快捷键说明

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