/*
* @(#)H261Adapter.java 1.2 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media.controls;
import javax.media.*;
import java.awt.*;
import java.awt.event.*;
/**
* Implementation for H261Control
*/
public class H261Adapter implements javax.media.control.H261Control {
Codec owner=null;
boolean isSetable;
boolean stillImage=false;
Component component=null;
String CONTROL_STRING="Still Image Transmission";
public H261Adapter(Codec newOwner, boolean newStillImage, boolean newIsSetable) {
stillImage= newStillImage;
owner = newOwner;
isSetable = newIsSetable;
}
/**
* Returns if still image transmission was enabled
* @return if still image transmission was enabled
*/
public boolean getStillImageTransmission(){
return stillImage;
}
/**
* Sets the still image transmission mode
* @param newStillImageTransmission the requested still image transmission
* mode
* @return the actual still image transmission mode that was set
*/
public boolean setStillImageTransmission(boolean newStillImageTransmission){
return stillImage;
}
/**
* Returns if still image transmission is supported
* @return if still image transmission is supported
*/
public boolean isStillImageTransmissionSupported() {
return stillImage;
}
public Component getControlComponent() {
if (component ==null ) {
Panel componentPanel=new Panel();
componentPanel.setLayout(new BorderLayout() );
componentPanel.add("Center",new Label(CONTROL_STRING,Label.CENTER) );
Checkbox cb=new Checkbox(null,null,stillImage);
cb.setEnabled(isSetable);
cb.addItemListener( (ItemListener) new H261AdapterListener(cb) );
componentPanel.add("East",cb );
componentPanel.invalidate();
component=componentPanel;
}
return (Component)component;
}
class H261AdapterListener implements java.awt.event.ItemListener {
Checkbox cb;
public H261AdapterListener(Checkbox source) {
cb=source;
}
public void itemStateChanged(ItemEvent e) {
try {
boolean newStillImage= cb.getState() ;
System.out.println("newStillImage "+newStillImage);
setStillImageTransmission(newStillImage);
} catch (Exception exception) {
}
cb.setState(stillImage);
}
}
}
|