/*
* @(#)BitRateAdapter.java 1.6 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media.controls;
import javax.media.control.BitRateControl;
import com.sun.media.ui.TextComp;
import javax.media.*;
import java.awt.Component;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class BitRateAdapter implements BitRateControl, ActionListener {
protected int value;
protected int min;
protected int max;
protected boolean settable;
protected TextComp textComp;
public BitRateAdapter(int initialBitRate, int minBitRate, int maxBitRate,
boolean settable) {
value = initialBitRate;
min = minBitRate;
max = maxBitRate;
this.settable = settable;
}
public int getBitRate() {
return value;
}
public int setBitRate(int newValue) {
if (settable) {
if (newValue < min)
newValue = min;
if (newValue > max)
newValue = max;
// if (newValue != value) {
value = newValue;
if (textComp != null)
textComp.setValue(Integer.toString(newValue));
// }
return value;
} else
return -1;
}
public int getMinSupportedBitRate() {
return min;
}
public int getMaxSupportedBitRate() {
return max;
}
protected String getName() {
return "Bit Rate";
}
public Component getControlComponent() {
if (textComp == null) {
textComp = new TextComp(getName(), Integer.toString(value),
7, settable);
textComp.setActionListener(this);
}
return textComp;
}
public void actionPerformed(ActionEvent ae) {
if (textComp != null) {
setBitRate(textComp.getIntValue());
}
}
}
|