1 package org.wcb.autohome.util; 2 /*** 3 * Copyright (C) 1999 Walter Bogaardt 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with this library; if not, write to the Free Software 17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 18 * 19 * Project: Home Automation Interface 20 * 21 */ 22 import org.wcb.autohome.util.ui.LightRender; 23 24 import java.awt.event.ActionListener; 25 import java.awt.event.ActionEvent; 26 import java.awt.Component; 27 import javax.swing.JCheckBox; 28 import javax.swing.JButton; 29 import javax.swing.JTable; 30 import javax.swing.DefaultCellEditor; 31 32 public class LightEditor extends DefaultCellEditor { 33 34 LightRender render = new LightRender(); 35 public String currentString = null; 36 37 public LightEditor(JButton b) { 38 super(new JCheckBox()); 39 editorComponent = b; 40 setClickCountToStart(1); 41 b.addActionListener(new ActionListener(){ 42 public void actionPerformed(ActionEvent e){ 43 fireEditingStopped(); 44 } 45 }); 46 } 47 48 protected void fireEditingStopped() { 49 super.fireEditingStopped(); 50 } 51 52 public Object getCellEditorValue() { 53 return currentString; 54 } 55 56 public Component getTableCellEditorComponent(JTable table, 57 Object value, 58 boolean isSelected, 59 int row, 60 int column) { 61 ((JButton)editorComponent).setText(value.toString()); 62 currentString = (String)value; 63 return editorComponent; 64 } 65 } 66