package jas.util;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JCheckBox;
class JCheckBoxFieldBinding extends FieldBinding implements ItemListener
{
JCheckBoxFieldBinding(JCheckBox field)
{
m_field = field;
field.addItemListener(this);
}
void set(Object value) throws UnsupportedType
{
if (!(value instanceof Boolean)) throw new UnsupportedType(m_field,value.getClass());
boolean x = ((Boolean) value).booleanValue();
if (m_oldVal != x)
{
m_field.setSelected(x);
m_oldVal = x;
}
}
Object get(Class type) throws UnsupportedType
{
if (type != Boolean.TYPE) throw new UnsupportedType(m_field,type);
boolean x = m_field.isSelected();
return new Boolean(x);
}
public void itemStateChanged(ItemEvent e)
{
boolean x = m_field.isSelected();
if (x != m_oldVal) setChanged();
notifyObservers();
}
protected void reset()
{
super.reset();
m_oldVal = m_field.isSelected();
}
private boolean m_oldVal = false;
private JCheckBox m_field;
}