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

📄 buddybar.java

📁 Java applet that simullate the balistic model
💻 JAVA
字号:

package balistic;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class BuddyBar implements AdjustmentListener, ActionListener {
	
	double barValue;
	int iSlideMax; 
	double slideMin, slideMax;
	
	double textMin, textMax;
	Label textLabel;
	TextField tField; 
	Scrollbar slippery; 
	Vector Listeners; 

	public BuddyBar(String message, double fMin, double fMax,double tMin,double tMax,double init)
	{
		String label = new String(message);
		slideMin = fMin;
		slideMax = fMax;
		textMin = tMin;
		textMax = tMax;
		barValue = init;

		textLabel = new Label(label);
		
		tField = new TextField(Double.toString(barValue),12);
		tField.addActionListener(this);
                iSlideMax = 200;
		slippery = new Scrollbar(Scrollbar.HORIZONTAL,0,10,0,iSlideMax);
		slippery.addAdjustmentListener(this);
		setSlide();

		
		Listeners = new Vector(5);
	}

	public TextField getTextField()
	{
		return tField;
	}

	public Label getLabel()
	{
		return textLabel;
	}

	public Scrollbar getScrollbar()
	{
		return slippery;
	}

	
	private void changeValue()
	{
		for (int i = 0; i<Listeners.size(); i++) {
			BuddyListener ting = (BuddyListener) Listeners.elementAt(i);
			ting.buddyValueChanged(this,barValue);
		}
	}

	
	public double getValue()
	{
		readTextField();
		return barValue;
	}

    public void actionPerformed(ActionEvent e) {
		double oldVal = barValue;
		this.readTextField();
		if (oldVal != barValue)
			changeValue();
	}

	private void readTextField()
	{
		String s1 = tField.getText();
		try {
			Double dVal = new Double(s1);
			double newval = dVal.doubleValue();
			if (newval<textMin) {
				barValue = textMin;
				tField.setText(Double.toString(barValue));
			} else if (newval>textMax) {
				barValue = textMax;
				tField.setText(Double.toString(barValue));
			}
			barValue = newval;
			setSlide(); 
		} catch (NumberFormatException nfe) {
			tField.setText(Double.toString(barValue));
		}
	}
	
	
	public void adjustmentValueChanged(AdjustmentEvent evt) {
		int iSlideVal = evt.getValue();
		
		barValue = slideMin+iSlideVal*(slideMax-slideMin)/iSlideMax;
		
		tField.setText(Double.toString(barValue));
		changeValue();
	}

	
	private void setSlide()
	{
		if (barValue<=slideMax)
			slippery.setValue((int)(iSlideMax*(barValue-slideMin)/(slideMax-slideMin)));
		else if (barValue>slideMax)
			slippery.setValue(iSlideMax);
		else if (barValue<0)
			slippery.setValue(0);
	}

	
	public interface BuddyListener
	{
		
		public void buddyValueChanged(BuddyBar bbar, double val);
	}

	public void addBuddyListener(BuddyListener bl)
	{
		Listeners.addElement(bl);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -