Program: 31079
Project: 31079
Buggy source:
@SuppressWarnings("String_Node_Str") @Override public Component getTableCellEditorComponent(JTable table,Object value,boolean isSelected,int rowIndex,int columnIndex){
  AttrTableModel attrModel=tableModel.attrModel;
  AttrTableModelRow row=attrModel.getRow(rowIndex);
  if ((columnIndex == 0) || (rowIndex == 0)) {
    return new JLabel(row.getLabel());
  }
 else {
    if (currentEditor != null) {
      currentEditor.transferFocus();
    }
    Component editor=row.getEditor(parent);
    if (editor instanceof JComboBox) {
      ((JComboBox)editor).addActionListener(this);
      editor.addFocusListener(this);
    }
 else     if (editor instanceof JInputDialog) {
      JInputDialog dlog=(JInputDialog)editor;
      dlog.setVisible(true);
      Object retval=dlog.getValue();
      try {
        row.setValue(retval);
      }
 catch (      AttrTableSetException e) {
        JOptionPane.showMessageDialog(parent,e.getMessage(),Strings.get("String_Node_Str"),JOptionPane.WARNING_MESSAGE);
      }
      editor=null;
    }
 else     if (editor instanceof JInputComponent) {
      JInputComponent input=(JInputComponent)editor;
      MyDialog dlog;
      Window parent=AttrTable.this.parent;
      if (parent instanceof Frame) {
        dlog=new MyDialog((Frame)parent,input);
      }
 else {
        dlog=new MyDialog((Dialog)parent,input);
      }
      dlog.setVisible(true);
      Object retval=dlog.getValue();
      try {
        row.setValue(retval);
      }
 catch (      AttrTableSetException e) {
        JOptionPane.showMessageDialog(parent,e.getMessage(),Strings.get("String_Node_Str"),JOptionPane.WARNING_MESSAGE);
      }
      editor=null;
    }
 else {
      editor.addFocusListener(this);
    }
    currentRow=row;
    currentEditor=editor;
    editor.setFont(AppPreferences.getScaledFont(editor.getFont()));
    return editor;
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Override public Component getTableCellEditorComponent(JTable table,Object value,boolean isSelected,int rowIndex,int columnIndex){
  AttrTableModel attrModel=tableModel.attrModel;
  AttrTableModelRow row=attrModel.getRow(rowIndex);
  if ((columnIndex == 0) || (rowIndex == 0)) {
    return new JLabel(row.getLabel());
  }
 else {
    if (currentEditor != null) {
      currentEditor.transferFocus();
    }
    Component editor=row.getEditor(parent);
    if (editor instanceof JComboBox) {
      ((JComboBox)editor).addActionListener(this);
      editor.addFocusListener(this);
    }
 else     if (editor instanceof JInputDialog) {
      JInputDialog dlog=(JInputDialog)editor;
      dlog.setVisible(true);
      Object retval=dlog.getValue();
      try {
        row.setValue(retval);
      }
 catch (      AttrTableSetException e) {
        JOptionPane.showMessageDialog(parent,e.getMessage(),Strings.get("String_Node_Str"),JOptionPane.WARNING_MESSAGE);
      }
      editor=null;
    }
 else     if (editor instanceof JInputComponent) {
      JInputComponent input=(JInputComponent)editor;
      MyDialog dlog;
      Window parent=AttrTable.this.parent;
      if (parent instanceof Frame) {
        dlog=new MyDialog((Frame)parent,input);
      }
 else {
        dlog=new MyDialog((Dialog)parent,input);
      }
      dlog.setVisible(true);
      Object retval=dlog.getValue();
      try {
        row.setValue(retval);
      }
 catch (      AttrTableSetException e) {
        JOptionPane.showMessageDialog(parent,e.getMessage(),Strings.get("String_Node_Str"),JOptionPane.WARNING_MESSAGE);
      }
      editor=null;
    }
 else {
      editor.addFocusListener(this);
    }
    currentRow=row;
    currentEditor=editor;
    if (editor != null)     editor.setFont(AppPreferences.getScaledFont(editor.getFont()));
    return editor;
  }
}