コード例 #1
0
  public Component getTableCellRendererComponent(
      ScreenView screenView,
      Object value,
      boolean isSelected,
      boolean hasFocus,
      int row,
      int column) {

    /*
     * Since the renderer is reusable, we must reinitialize it each time.
     */
    if (isSelected) {
      setForeground(screenView.getSelectionForeground());
      setBackground(screenView.getSelectionBackground());
    } else {
      setForeground(screenView.getForeground());
      setBackground(screenView.getBackground());
      // setBackground(Color.white);
    }

    setFont(screenView.getFont());

    if (hasFocus) {
      setBorder(UIManager.getBorder("Table.focusCellHighlightBorder")); // NOT
      // LOCALIZABLE
      if (screenView.isCellEditable(row, column)) {
        setForeground(UIManager.getColor("Table.focusCellForeground")); // NOT
        // LOCALIZABLE
        setBackground(UIManager.getColor("Table.focusCellBackground")); // NOT
        // LOCALIZABLE
      }
    } else {
      setBorder(noFocusBorder);
    }

    setIcon(null);
    setText("");
    setToolTipText(null);

    setValue(screenView, row, column, value);

    ScreenModel model = screenView.getModel();
    if (model instanceof DbDescriptionModel) {
      setEnabled(((DbDescriptionModel) model).isEditable(row));
    } else if (model instanceof DbListModel) {
      DbListModel dblm = (DbListModel) model;
      boolean editable = dblm.isCellEditable(row, column);
      boolean enabled = dblm.isCellEnabled(row, column);
      if (!enabled) {
        int i = 0;
      } else if (editable) setEnabled(editable);
    } else setEnabled(true);

    return this;
  }