]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - apps/tosthreads/capps/TestCollection/java/ColorCellEditor.java
added java stuff to the TestCollection apps
[tinyos-2.x.git] / apps / tosthreads / capps / TestCollection / java / ColorCellEditor.java
diff --git a/apps/tosthreads/capps/TestCollection/java/ColorCellEditor.java b/apps/tosthreads/capps/TestCollection/java/ColorCellEditor.java
new file mode 100644 (file)
index 0000000..f88b0b6
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2006 Intel Corporation
+ * All rights reserved.
+ *
+ * This file is distributed under the terms in the attached INTEL-LICENSE     
+ * file. If you do not find these files, copies can be found by writing to
+ * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, 
+ * 94704.  Attention:  Intel License Inquiry.
+ */
+
+import javax.swing.*;
+import javax.swing.table.*;
+import java.awt.*;
+import java.awt.event.*;
+
+/* Editor for table cells representing colors. Popup a color chooser. */
+public class ColorCellEditor extends AbstractCellEditor
+    implements TableCellEditor {
+    private Color color;
+    private JButton button;
+
+    public ColorCellEditor(String title) {
+       button = new JButton();
+       final JColorChooser chooser = new JColorChooser();
+       final JDialog dialog = JColorChooser.createDialog
+           (button, title, true, chooser,
+            new ActionListener() {
+                public void actionPerformed(ActionEvent e) {
+                    color = chooser.getColor();
+                } },
+            null);
+
+       button.setBorderPainted(false);
+       button.addActionListener
+           (new ActionListener () {
+                   public void actionPerformed(ActionEvent e) {
+                       button.setBackground(color);
+                       chooser.setColor(color);
+                       dialog.setVisible(true);
+                       fireEditingStopped();
+                   } } );
+       
+    }
+
+    public Object getCellEditorValue() { return color; }
+    public Component getTableCellEditorComponent(JTable table,
+                                                 Object value,
+                                                 boolean isSelected,
+                                                 int row,
+                                                 int column) {
+        color = (Color)value;
+        return button;
+    }
+}
+