📄 colortextlistener.java
字号:
/*************************************************************************************
* 类名: ColorTextListener
*
* 功能: 此类的功能为”颜色选择对话框“中的”Rgb_Modal单选按钮“和”S_Modal单选按钮”所注册的Action
* 动作监听器类,当用户点击不同的单选按钮后,将会选择不同的颜色模式(RGB颜色模式/黑白颜色模式)
* 其中,当点击Rgb_Modal单选按钮,会选择RGB颜色模式,此时会改变相应滑动条和其相应的文本输入框
* 的状态,并且将”颜色选择对话框“中的“颜色显示区”所显示的颜色设定为滑动条R,滑动条G,滑动条B
* 状态改变之前所显示的颜色值,当点击S_Modal单选按钮,会选择黑白颜色模式,此时会改变相应滑动
* 条和其相应的文本输入框的状态,并且将”颜色选择对话框“中的“颜色显示区”所显示的颜色设定为滑动条S
* 状态改变之前所显示的颜色值
*
**************************************************************************************/
package edit.com;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import javax.swing.JSlider;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.JRadioButton;
class ColorTextListener implements ActionListener {
private int[] value = new int[4];
private Color color;
private JSlider[] sliders;
private JTextField[] texts;
private JTextArea showText;
private JRadioButton[] colorButtons;
private EditColorState state ;
private EditColorTools tool = new EditColorTool();
ColorTextListener( JSlider[] aSliders , JTextField[] aTexts ,
JTextArea aTextArea , JRadioButton[] buttons ,
EditColorState aState ) {
sliders = aSliders;
texts = aTexts;
showText = aTextArea;
colorButtons = buttons;
state = aState;
}
public void actionPerformed( ActionEvent e ) {
//将各个滑动条状态变化之前所显示的值保存
for( int i = 0; i < 4; i++ ) {
value[i] = sliders[i].getValue();
}
//当用户点击Rgb_Modal单选按钮时
if( colorButtons[0].equals( ( JRadioButton ) e.getSource() ) ) {
//将滑动条R,滑动条G,滑动条B和其相应的文本输入框的可编辑状态设定为true
for( int i = 0; i < 3; i++ ) {
sliders[i].setEnabled( true );
texts[i].setEditable( true );
texts[i].setEnabled( true );
}
//将”颜色选择对话框“中的“颜色显示区”所显示的颜色设定为滑动条R,滑动条G,滑动条B
//状态改变之前所显示的颜色值
color = new Color( value[0], value[1], value[2] );
tool.setShowText( showText, color );
//同时将滑动条S和其相应的文本输入框的可编辑状态设定为false
sliders[3].setEnabled( false );
texts[3].setEditable( false );
texts[3].setEnabled( false );
//将当前用户设定的颜模式状态设定为RGB模式状态
state.setRsModal( 1 );
} else if( colorButtons[1].equals( ( JRadioButton ) e.getSource() ) ) {////当用户点击S_Modal单选按钮时
//将滑动条S和其相应的文本输入框的可编辑状态设定为true
sliders[3].setEnabled( true );
texts[3].setEditable( true );
texts[3].setEnabled( true );
//将”颜色选择对话框“中的“颜色显示区”所显示的颜色设定为滑动条S状态改变之前所显示的颜色值
color = new Color( value[3], value[3], value[3] );
tool.setShowText( showText, color );
//同时将滑动条R,滑动条G,滑动条B和其相应的文本输入框的可编辑状态设定为false
for( int i = 0; i < 3; i++ ) {
sliders[i].setEnabled( false );
texts[i].setEditable( false );
texts[i].setEnabled( false );
}
//将当前用户设定的颜模式状态设定为黑白模式状态
state.setRsModal( 0 ); //s modal
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -