static Color getNoFocusSelectionBackground() { if (noFocusSelectionBackground == null) { //allow theme/ui custom definition noFocusSelectionBackground = UIManager.getColor("nb.explorer.noFocusSelectionBackground"); //NOI18N if (noFocusSelectionBackground == null) { //try to get standard shadow color noFocusSelectionBackground = UIManager.getColor("controlShadow"); //NOI18N if (noFocusSelectionBackground == null) { //Okay, the look and feel doesn't suport it, punt noFocusSelectionBackground = Color.lightGray; } //Lighten it a bit because disabled text will use controlShadow/ //gray noFocusSelectionBackground = betterBrighter(noFocusSelectionBackground); } } return noFocusSelectionBackground; }
/** Table has changed. If underlied property was switched then cancel editing. * @param e event */ public void tableChanged(TableModelEvent e) { cancelCellEditing(); }
@Override protected void detachEditor() { super.detachEditor(); tableModel.removeTableModelListener(this); } @Override
@Override public void focusLost(java.awt.event.FocusEvent ev) { outline.setSelectionBackground(SheetCell.getNoFocusSelectionBackground()); outline.setSelectionForeground(SheetCell.getNoFocusSelectionForeground()); }
if (comp instanceof JComponent) { String tip = column > 0 ? getShortDescription(column) : table.getColumnName( 0 ); ((JComponent) comp).setToolTipText(tip); Node n = nodeForRow(row); FocusedPropertyPanel propPanel = getRenderer (property, n); propPanel.setFocused(hasFocus); Object computeTooltip = table.getClientProperty("ComputingTooltip"); getNoFocusSelectionBackground()); getNoFocusSelectionForeground()); getNoFocusSelectionBackground() );
/** Returns editor of property. * @param table * @param value * @param isSelected * @param r row * @param c column * @return <code>PropertyPanel</code> */ public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int r, int c) { prop = (Property)value; node = nodeForRow(r); node.addPropertyChangeListener(this); // create property panel PropertyPanel propPanel = getEditor(prop, node); propPanel.setBackground(table.getSelectionBackground()); propPanel.setForeground(table.getSelectionForeground()); //Fix for 35534, text shifts when editing. Maybe better fix possible //in EditablePropertyDisplayer or InplaceEditorFactory. propPanel.setBorder(BorderFactory.createMatteBorder(0,1,0,0, table.getSelectionBackground())); return propPanel; }
@Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int r, int c) { tableModel.addTableModelListener(this); return super.getTableCellEditorComponent(table, value, isSelected, r, c); } }
private PropertyPanel obtainPanel (Node node, Property prop) { return getEditor(prop, node); }
@Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int r, int c) { TableModel tableModel = outline.getModel(); tableModel.addTableModelListener(this); return super.getTableCellEditorComponent(table, value, isSelected, r, c); }
/** * Detaches listeners. * Calls <code>fireEditingStopped</code> and returns true. * @return true */ @Override public boolean stopCellEditing() { if (prop != null) detachEditor(); return super.stopCellEditing(); }
/** * Detaches listeners. * Calls <code>fireEditingCanceled</code>. */ @Override public void cancelCellEditing() { if (prop != null) detachEditor(); super.cancelCellEditing(); }
@Override protected void detachEditor() { super.detachEditor(); TableModel tableModel = outline.getModel(); tableModel.removeTableModelListener(this); } @Override