jnabstractbutton.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 114 行

JAVA
114
字号
package org.jnode.wt.components;

import org.jnode.wt.events.JNActionEvent;
import org.jnode.wt.events.JNItemEvent;
import org.jnode.wt.events.JNActionListener;
import org.jnode.wt.events.JNItemListener;

import java.util.ArrayList;

/**
 * @author kishore
 */
public abstract class JNAbstractButton extends
        org.jnode.wt.components.JNComponent implements Selectable,
        ItemSelectable {

    protected ButtonGroup aButtonGroup = null;

    private boolean isSelected = false;

    protected ArrayList itemListeners = new ArrayList();

    public void addActionListener(JNActionListener lisner) {
        listenerList.add(lisner);
    }

    public void addItemListener(JNItemListener lis) {
        itemListeners.add(lis);
    }

    public Object[] getSelectedObjects() {
        return null;
    }

    protected abstract String getText();

    /**
     * Insert the method's description here. Creation date: (1/28/04 10:34:59
     * PM)
     */
    public boolean isSelected() {
        return isSelected;
    }

    protected void notifyItemListeners() {
        int id = JNItemEvent.ITEM_STATE_CHANGED;

        int state = -1;
        if (isSelected) {
            state = JNItemEvent.SELECTED;
        } else {
            state = JNItemEvent.DESELECTED;
        }

        JNItemEvent ce = new JNItemEvent(id, this, state);

        for (int i = 0; i < itemListeners.size(); i++) {
            ((JNItemListener) itemListeners.get(i)).itemStateChanged(ce);
        }
    }

    protected void notifyListeners() {
        int id = JNActionEvent.ACTION_EVENT;
        //int type = -1;

        //	System.out.println(value+" &&&&");

        JNActionEvent ae = new JNActionEvent(this, id, this.getText());

        for (int i = 0; i < listenerList.size(); i++) {
            ((JNActionListener) listenerList.get(i)).actionPerformed(ae);
        }
    }

    public void removeActionListener(JNActionListener lisner) {
        listenerList.remove(lisner);
    }

    public void removeItemListener(JNItemListener lis) {
        itemListeners.remove(lis);
    }

    /**
     * setButtonGroup method comment.
     */
    public void setButtonGroup(ButtonGroup bg) {
        aButtonGroup = bg;
    }

    public void setSelected(boolean b) {
        boolean currentState = isSelected;

        if (aButtonGroup != null) {
            if (isSelected != b) {
                isSelected = b;
                isSelected = aButtonGroup.setSelected(this, b);
            }
        } else {
            isSelected = b;

            //		System.out.println("JNAbsraButton[S] "+b);
        }

        //	isSelected = b;

        if (currentState != isSelected) {
            notifyItemListeners();
        }

    }

    protected abstract void setText(String str);
}

⌨️ 快捷键说明

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