resultsettablecellrenderer.java

来自「Weka」· Java 代码 · 共 125 行

JAVA
125
字号
/* *    This program is free software; you can redistribute it and/or modify *    it under the terms of the GNU General Public License as published by *    the Free Software Foundation; either version 2 of the License, or *    (at your option) any later version. * *    This program is distributed in the hope that it will be useful, *    but WITHOUT ANY WARRANTY; without even the implied warranty of *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *    GNU General Public License for more details. * *    You should have received a copy of the GNU General Public License *    along with this program; if not, write to the Free Software *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *//* * ResultSetTableCellRenderer.java * Copyright (C) 2005 University of Waikato, Hamilton, New Zealand * */package weka.gui.sql;import java.awt.Color;import java.awt.Component;import javax.swing.JTable;import javax.swing.SwingConstants;import javax.swing.UIManager;import javax.swing.table.DefaultTableCellRenderer;/** * Handles the background colors for missing values differently than the * DefaultTableCellRenderer. * * @author     FracPete (fracpete at waikato dot ac dot nz) * @version    $Revision: 1.2 $ */public class ResultSetTableCellRenderer  extends DefaultTableCellRenderer {  /** for serialization */  private static final long serialVersionUID = -8106963669703497351L;    // the color for missing values  private Color           missingColor;  private Color           missingColorSelected;  /**   * initializes the Renderer with a standard color   */  public ResultSetTableCellRenderer() {    this( new Color(223, 223, 223),           new Color(192, 192, 192) );  }  /**   * initializes the Renderer with the given colors   */  public ResultSetTableCellRenderer( Color missingColor,                                      Color missingColorSelected ) {    super();    this.missingColor           = missingColor;    this.missingColorSelected   = missingColorSelected;  }  /**   * Returns the default table cell renderer.   * stuff for the header is taken from <a href="http://www.chka.de/swing/table/faq.html">here</a>   */  public Component getTableCellRendererComponent(      JTable table, Object value, boolean isSelected,       boolean hasFocus, int row, int column ) {    ResultSetTableModel       model;    Component                 result;    boolean                   found;    result = super.getTableCellRendererComponent(        table, value, isSelected, hasFocus, row, column);    if (table.getModel() instanceof ResultSetTableModel) {      model = (ResultSetTableModel) table.getModel();      // normal cell      if (row >= 0) {        if (model.isNullAt(row, column)) {          setToolTipText("NULL");          if (isSelected)            result.setBackground(missingColorSelected);          else            result.setBackground(missingColor);        }        else {          setToolTipText(null);          if (isSelected)            result.setBackground(table.getSelectionBackground());          else            result.setBackground(Color.WHITE);        }        // alignment        if (model.isNumericAt(column))          setHorizontalAlignment(SwingConstants.RIGHT);        else          setHorizontalAlignment(SwingConstants.LEFT);      }      // header      else {        setBorder(UIManager.getBorder("TableHeader.cellBorder"));        setHorizontalAlignment(SwingConstants.CENTER);        if (table.getColumnModel().getSelectionModel().isSelectedIndex(column))          result.setBackground(UIManager.getColor("TableHeader.background").darker());        else          result.setBackground(UIManager.getColor("TableHeader.background"));      }    }    return result;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?