ControlPanel.java



/** ペイントツールの操作パネル ControlPanel */
import java.awt.*;
import javax.swing.*;
public class ControlPanel extends JPanel {

 /** 部品となるコンポーネントのオブジェクト */
    public JColorChooser chooser;
    public JSlider slider;
    public JRadioButton radio1;
    public JRadioButton radio2;

 /** RadioButtonのグループ */
    public ButtonGroup group;

 /** コンストラクタ */
    public ControlPanel() {
        super();
        chooser = new JColorChooser( Color.black );
        slider = new JSlider( JSlider.HORIZONTAL, 1, 100, 1 );
        slider.setPaintLabels( true );
        slider.setPaintTicks( true );
        slider.setMajorTickSpacing( 10 );
        slider.setMinorTickSpacing( 5 );
        group = new ButtonGroup();
        radio1 = new JRadioButton( "Round", true );
        radio2 = new JRadioButton( "Square", false );
        group.add( radio1 );
        group.add( radio2 );
        add( chooser );
        add( slider );
        add( radio1 );
        add( radio2 );
    }

 /** 部品にリスナの登録をするメソッド */
    public void addColorListener( ColorAdapter adapter ) {
        chooser.getSelectionModel().addChangeListener( adapter );
    }

    public void addLineStyleListener( LineStyleAdapter adapter ) {
        radio1.addItemListener( adapter );
        radio2.addItemListener( adapter );
    }

    public void addLineWidthListener( LineWidthAdapter adapter ) {
        slider.addChangeListener( adapter );
    }
}