/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.eas.client.forms.components.model.grid.columns; import com.eas.client.forms.components.model.grid.ModelGrid; import java.awt.BorderLayout; import java.awt.Component; import java.awt.event.ActionListener; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.TableCellEditor; import jdk.nashorn.api.scripting.JSObject; /** * * @author mg */ public class ServiceCellEditor extends RowHeaderCellEditor implements TableCellEditor, ActionListener { protected JLabel indicator = new JLabel(); protected JLabel rowDescriptor = new JLabel(); public ServiceCellEditor() { super(); indicator.setOpaque(false); rowDescriptor.setOpaque(false); add(indicator, BorderLayout.WEST); add(rowDescriptor, BorderLayout.CENTER); } @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int rowIndex, int column) { ModelGrid grid = ModelGrid.getFirstDbGrid(table); JSObject row = grid.elementByViewIndex(rowIndex); if (row != null) { if (grid.isCurrentRow(row)) { indicator.setIcon(ServiceCellRenderer.currentIcon); } else { indicator.setIcon(null); } /* if (row.isInserted()) { rowDescriptor.setIcon(RowHeaderCellRenderer.insertingIcon); } else if (row.isUpdated()) { rowDescriptor.setIcon(RowHeaderCellRenderer.editingIcon); } else { rowDescriptor.setIcon(null); } */ } else { indicator.setIcon(null); rowDescriptor.setIcon(null); } super.getTableCellEditorComponent(table, value, isSelected, rowIndex, column); return this; } @Override protected void invokeRowHeaderAction() { editingTable.setRowSelectionInterval(editingRow, editingRow); } }