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

📄 editcolortool.java

📁 简单的java文本编辑器
💻 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 + -