gendereditor.java

来自「java 北大青鸟 java 北大青鸟」· Java 代码 · 共 115 行

JAVA
115
字号
package information;
/*
import java.util.Vector;

import javax.swing.ComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.table.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import javax.swing.table.*;
import java.util.EventObject;
import java.util.EventListener;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
*/
import javax.swing.table.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
import javax.swing.table.*;
import java.util.EventObject;
import java.util.EventListener;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class GenderEditor extends JComboBox implements TableCellEditor {
    protected EventListenerList listenerList = new EventListenerList();
    protected ChangeEvent change = new ChangeEvent(this);
    public GenderEditor() {
        super();
       addItem("男");
       addItem("女");
       addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent event) {
               fireStoppedEvent();
           }
       });
        try {
            jbInit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    protected void fireEditingEvent() {
        CellEditorListener listener;
        Object[] listeners = listenerList.getListenerList();
        for(int i =0 ; i<listeners.length ; i++) {
            if(listeners[i] == CellEditorListener.class) {
                listener = (CellEditorListener) listeners[i+1];
                listener.editingCanceled(change);

            }
        }

    }
public boolean isCellEditable(EventObject event) {
    return true;
}

public void cancelCellEditing() {
    fireEditingEvent();
}
protected void fireStoppedEvent() {
           CellEditorListener listener;
           Object[] listeners = listenerList.getListenerList();
           for(int i =0 ; i<listeners.length ; i++) {
               if(listeners[i] == CellEditorListener.class) {
                   listener = (CellEditorListener) listeners[i+1];
                   listener.editingStopped(change);

               }
           }

    }

    public void cancelEditing() {
        fireEditingEvent();
    }

    public boolean stopCellEditing() {
        fireStoppedEvent();
        return true;
    }

    public boolean isCellEditabel(EventObject event) {
        return true;
    }

    public boolean shouldSelectCell(EventObject event) {
        return true;
    }

    public Object getCellEditorValue() {
        return new Boolean(getSelectedIndex() == 0 ? true : false);
    }

    public void removeCellEditorListener(CellEditorListener listen) {
       listenerList.remove(CellEditorListener.class, listen);
    }

    public void addCellEditorListener(CellEditorListener listen) {
      listenerList.add(CellEditorListener.class, listen);
   }

    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
         boolean isMale = ((Boolean) value).booleanValue();
         setSelectedIndex(isMale ? 0 : 1);
         return this;
 }

    private void jbInit() throws Exception {
    }

}

⌨️ 快捷键说明

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