// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea // Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/ package graphtea.ui.components.gpropertyeditor.editors.inplace; import graphtea.ui.components.gpropertyeditor.EditingFinishedListener; import graphtea.ui.components.gpropertyeditor.GBasicCellEditor; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * User: root */ public class GBooleanEditor implements GBasicCellEditor, ActionListener { private EditingFinishedListener listener; private JCheckBox j; public Object[] getValues() { return new Boolean[]{true, false}; } public void setEditingFinishedListener(EditingFinishedListener listener) { this.listener = listener; } public Component getEditorComponent(Object value) { Boolean b = (Boolean) value; j = new JCheckBox("", b); j.setOpaque(false); j.addActionListener(this); j.setHorizontalAlignment(JCheckBox.CENTER); return j; } public void cancelEditing() { listener.editingFinished(getEditorValue()); } public Object getEditorValue() { return j.isSelected(); } public void actionPerformed(ActionEvent e) { listener.editingFinished(getEditorValue()); } }