001: // LabelCheckBox.java
002: // $Id: LabelCheckbox.java,v 1.3 2000/08/16 21:37:56 ylafon Exp $
003: // (c) COPYRIGHT MIT and INRIA, 1998.
004: // Please first read the full copyright statement in file COPYRIGHT.html
005: package org.w3c.tools.widgets;
006:
007: import java.awt.BorderLayout;
008: import java.awt.Checkbox;
009: import java.awt.Component;
010: import java.awt.Container;
011: import java.awt.Dimension;
012: import java.awt.Label;
013: import java.awt.LayoutManager;
014:
015: import java.awt.event.ItemEvent;
016: import java.awt.event.ItemListener;
017:
018: /**
019: * @version $Revision: 1.3 $
020: * @author Benoît Mahé (bmahe@w3.org)
021: */
022: public class LabelCheckbox extends BorderPanel implements ItemListener {
023:
024: Label label = null;
025: Checkbox checkbox = null;
026: String strue = "on";
027: String sfalse = "off";
028: Dimension size = null;
029:
030: public void itemStateChanged(ItemEvent e) {
031: switch (e.getStateChange()) {
032: case ItemEvent.SELECTED:
033: setState(true);
034: break;
035: case ItemEvent.DESELECTED:
036: setState(false);
037: break;
038: default:
039:
040: }
041: }
042:
043: String getString(boolean check) {
044: return (check ? strue : sfalse);
045: }
046:
047: public void setState(boolean state) {
048: checkbox.setState(state);
049: label.setText(getString(state));
050: // remove(label);
051: // label = new Label(getString(state));
052: // add(label);
053: }
054:
055: public boolean getState() {
056: return checkbox.getState();
057: }
058:
059: /**
060: * Create a new LabelCheckbox
061: */
062: public LabelCheckbox(int type, int thickness) {
063: super (type, thickness);
064: init();
065: }
066:
067: /**
068: * Create a new LabelCheckbox
069: */
070: public LabelCheckbox(int type) {
071: super (type);
072: init();
073: }
074:
075: /**
076: * Create a new LabelCheckbox
077: */
078: public LabelCheckbox() {
079: super (IN);
080: init();
081: }
082:
083: public Dimension getPreferredSize() {
084: return size;
085: }
086:
087: public Dimension getMinimumSize() {
088: return size;
089: }
090:
091: public Dimension getSize() {
092: return size;
093: }
094:
095: private void init() {
096: setLayout(new BorderLayout());
097: label = new Label(getString(true));
098: checkbox = new Checkbox();
099: checkbox.setState(true);
100: checkbox.addItemListener(this );
101: add(checkbox, "West");
102: add(label, "Center");
103: size = new Dimension(75, 30);
104: }
105:
106: }
|