NumControl.java



/** 餌の量の調整用パネル */
package zoo;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;

public class NumControl extends JPanel {

 /** JSliderのオブジェクト */
    protected JSlider slider=null;

 /** 餌の量の値の取得 */
    public int getFoodNum() {
        return slider.getValue();
    }

 /** 餌の量の値の設定 */
    public void setFoodNum( int val ) {
        slider.setValue( val );
    }

 /** VariableFoodEnvironmentのオブジェクト */
    protected VariableFoodEnvironment environment=null;

 /** コンストラクタ */
    public NumControl( VariableFoodEnvironment env ) {
        super();
        environment = env;
        int foodNum = environment.getFoodNum();
        slider = new JSlider( 0, 100, foodNum );
        add( slider );
        ChangeAdapter adapter = new ChangeAdapter();
        slider.addChangeListener( adapter );
    }

 /** イベント処理のinnerクラス */
    class ChangeAdapter implements ChangeListener {

   /** イベント処理のメソッド */
        public void stateChanged( ChangeEvent evt ) {
            environment.setFoodNum( getFoodNum() );
        }
    }
}