📄 editcolortool.java
字号:
/*************************************************************************************
* 类名: EditColorTool
*
* 功能: 此类的主要功能为作为“颜色选择对话框”类的工具类,此类作为一个方法封装类,其中的所有实现方法
* 都是提供给“颜色选择对话框”类及其相关联类所使用,此类实现了EditColorTools接口
*
**************************************************************************************/
package edit.com;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
import javax.swing.border.TitledBorder;
class EditColorTool extends NewTool
implements EditColorTools {
public void addButton( Color c , Action a , JPanel aPanel ) {
JButton aButton = new JButton( a );
aButton.setBackground( c );
aPanel.add( aButton );
}
public void addButton( Action a , JPanel aPanel ) {
JButton aButton = new JButton( a );
aButton.setBackground( Color.orange );
aPanel.add( aButton );
}
public void addBackgroundListener( JRadioButton[] buttons ,
EditColorState state ) {
BackgroundListener listener =
new BackgroundListener( buttons , state );
for ( int i = 0; i < buttons.length; i++ ) {
buttons[i].addActionListener( listener );
}
}
public void addColorTextListener( JSlider[] sliders , JTextField[] texts ,
JTextArea showText , JRadioButton[] colorButtons ,
EditColorState state ) {
ColorTextListener actionListen =
new ColorTextListener( sliders , texts , showText , colorButtons ,
state );
for ( int i = 0; i < colorButtons.length; i++ ) {
colorButtons[i].addActionListener( actionListen );
}
}
public JRadioButton[] createColorButtons( String[] text ) {
JRadioButton[] selectColorButtons = new JRadioButton[text.length];;
for ( int i = 0 ; i < text.length; i++ ) {
selectColorButtons[i] = new JRadioButton( text[i] );
}
return selectColorButtons;
}
public Box createColorButtonsBox( JRadioButton[] buttons , int hagap ) {
Box selectColorBox = Box.createHorizontalBox();
ButtonGroup group = new ButtonGroup();
FlowLayout lay = new FlowLayout();
lay.setHgap( hagap );
JPanel selectPanel = new JPanel( lay );
Border etched = BorderFactory.createEtchedBorder( EtchedBorder.LOWERED );
selectPanel.setBorder( BorderFactory.createTitledBorder( etched ,
"GroundSelect" , TitledBorder.DEFAULT_JUSTIFICATION ,
TitledBorder.DEFAULT_POSITION , null , Color.blue ) );
for( int i = 0 ; i < buttons.length ; i++ ) {
selectPanel.add( buttons[i] );
}
for ( int i = 0 ; i < buttons.length ; i++ ) {
group.add( buttons[i] );
}
selectColorBox.add( selectPanel );
return selectColorBox;
}
public JTextField createText() {
JTextField text = new JTextField( "0" );
text.setColumns( 6 );
return text;
}
public JSlider createSlider( JSlider[] sliders , JTextField[] texts ,
JTextArea showText , EditColorState state ) {
JSlider slider = new JSlider( JSlider.HORIZONTAL, 0, 255, 0 );
SliderListener sliderListener =
new SliderListener( sliders , texts , showText , state );
slider.setPreferredSize( new Dimension( 140, 16 ) );
slider.addChangeListener( sliderListener );
return slider;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -