- class ColorEditor extends AbstractCellEditor\r
- implements TableCellEditor,\r
- ActionListener {\r
- Color currentColor;\r
- JButton button;\r
- JColorChooser colorChooser;\r
- JDialog dialog;\r
- protected static final String EDIT = "edit";\r
-\r
- public ColorEditor() {\r
- //Set up the editor (from the table's point of view),\r
- //which is a button.\r
- //This button brings up the color chooser dialog,\r
- //which is the editor from the user's point of view.\r
- button = new JButton();\r
- button.setActionCommand(EDIT);\r
- button.addActionListener(this);\r
- button.setBorderPainted(false);\r
- //Set up the dialog that the button brings up.\r
- colorChooser = new JColorChooser();\r
- dialog = JColorChooser.createDialog(button,\r
- "Select new Colour",\r
- true, //modal\r
- colorChooser,\r
- this, //OK button handler\r
- null); //no CANCEL button handler\r
- }\r
-\r
- /**\r
- * Handles events from the editor button and from\r
- * the dialog's OK button.\r
- */\r
- public void actionPerformed(ActionEvent e) {\r
-\r
- if (EDIT.equals(e.getActionCommand())) {\r
- //The user has clicked the cell, so\r
- //bring up the dialog.\r
- button.setBackground(currentColor);\r
- colorChooser.setColor(currentColor);\r
- dialog.setVisible(true);\r
-\r
- //Make the renderer reappear.\r
- fireEditingStopped();\r
-\r
- } else { //User pressed dialog's "OK" button.\r
- currentColor = colorChooser.getColor();\r
- }\r
- }\r
-\r
- //Implement the one CellEditor method that AbstractCellEditor doesn't.\r
- public Object getCellEditorValue() {\r
- return currentColor;\r
- }\r
-\r
- //Implement the one method defined by TableCellEditor.\r
- public Component getTableCellEditorComponent(JTable table,\r
- Object value,\r
- boolean isSelected,\r
- int row,\r
- int column) {\r
- currentColor = (Color)value;\r
- return button;\r
- }\r
+class ColorEditor\r
+ extends AbstractCellEditor implements TableCellEditor,\r
+ ActionListener\r
+{\r
+ Color currentColor;\r
+ JButton button;\r
+ JColorChooser colorChooser;\r
+ JDialog dialog;\r
+ protected static final String EDIT = "edit";\r
+\r
+ public ColorEditor()\r
+ {\r
+ //Set up the editor (from the table's point of view),\r
+ //which is a button.\r
+ //This button brings up the color chooser dialog,\r
+ //which is the editor from the user's point of view.\r
+ button = new JButton();\r
+ button.setActionCommand(EDIT);\r
+ button.addActionListener(this);\r
+ button.setBorderPainted(false);\r
+ //Set up the dialog that the button brings up.\r
+ colorChooser = new JColorChooser();\r
+ dialog = JColorChooser.createDialog(button,\r
+ "Select new Colour",\r
+ true, //modal\r
+ colorChooser,\r
+ this, //OK button handler\r
+ null); //no CANCEL button handler\r
+ }\r
+\r
+ /**\r
+ * Handles events from the editor button and from\r
+ * the dialog's OK button.\r
+ */\r
+ public void actionPerformed(ActionEvent e)\r
+ {\r
+\r
+ if (EDIT.equals(e.getActionCommand()))\r
+ {\r
+ //The user has clicked the cell, so\r
+ //bring up the dialog.\r
+ button.setBackground(currentColor);\r
+ colorChooser.setColor(currentColor);\r
+ dialog.setVisible(true);\r
+\r
+ //Make the renderer reappear.\r
+ fireEditingStopped();\r
+\r
+ }\r
+ else\r
+ { //User pressed dialog's "OK" button.\r
+ currentColor = colorChooser.getColor();\r
+ }\r
+ }\r
+\r
+ //Implement the one CellEditor method that AbstractCellEditor doesn't.\r
+ public Object getCellEditorValue()\r
+ {\r
+ return currentColor;\r
+ }\r
+\r
+ //Implement the one method defined by TableCellEditor.\r
+ public Component getTableCellEditorComponent(JTable table,\r
+ Object value,\r
+ boolean isSelected,\r
+ int row,\r
+ int column)\r
+ {\r
+ currentColor = (Color) value;\r
+ return button;\r
+ }\r