⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arfftablecellrenderer.java

📁 代码是一个分类器的实现,其中使用了部分weka的源代码。可以将项目导入eclipse运行
💻 JAVA
字号:
/* *    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. *//* * ArffTableCellRenderer.java * Copyright (C) 2005 FracPete * */package weka.gui.arffviewer;import weka.core.Attribute;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.3 $  */public class ArffTableCellRenderer   extends DefaultTableCellRenderer {    /** for serialization */  static final long serialVersionUID = 9195794493301191171L;    /** the color for missing values */  private Color           missingColor;  /** the color for selected missing values */  private Color           missingColorSelected;  /** the color for highlighted values */  private Color           highlightColor;  /** the color for selected highlighted values */  private Color           highlightColorSelected;    /**   * initializes the Renderer with a standard color   */  public ArffTableCellRenderer() {    this( new Color(223, 223, 223),         new Color(192, 192, 192) );  }    /**   * initializes the Renderer with the given colors   *    * @param missingColor		the color for missing values   * @param missingColorSelected	the color selected missing values   */  public ArffTableCellRenderer( Color missingColor,       Color missingColorSelected ) {    this( missingColor,        missingColorSelected,        Color.RED,        Color.RED.darker() );  }    /**   * initializes the Renderer with the given colors   *    * @param missingColor		the color for missing values   * @param missingColorSelected	the color selected missing values   * @param highlightColor		the color for highlighted values   * @param highlightColorSelected	the color selected highlighted values   */  public ArffTableCellRenderer( Color missingColor,       Color missingColorSelected,      Color highlightColor,      Color highlightColorSelected ) {    super();        this.missingColor           = missingColor;    this.missingColorSelected   = missingColorSelected;    this.highlightColor         = highlightColor;    this.highlightColorSelected = highlightColorSelected;  }    /**   * 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>   *    * @param table		the table this object belongs to   * @param value		the actual cell value   * @param isSelected		whether the cell is selected   * @param hasFocus		whether the cell has the focus   * @param row			the row in the table   * @param column		the column in the table   * @return			the rendering component   */  public Component getTableCellRendererComponent(      JTable table, Object value, boolean isSelected,       boolean hasFocus, int row, int column ) {    ArffSortedTableModel            model;    Component                  result;    String                     searchString;    boolean                    found;        result = super.getTableCellRendererComponent(        table, value, isSelected, hasFocus, row, column);        // search    if (table instanceof ArffTable)      searchString = ((ArffTable) table).getSearchString();    else      searchString = null;    if ( (searchString != null) && (!searchString.equals("")) )      found = (searchString.equals(value.toString()));    else      found = false;        if (table.getModel() instanceof ArffSortedTableModel) {      model = (ArffSortedTableModel) table.getModel();      // normal cell      if (row >= 0) {        if (model.isMissingAt(row, column)) {          setToolTipText("missing");          if (found) {            if (isSelected)              result.setBackground(highlightColorSelected);            else              result.setBackground(highlightColor);          }          else {            if (isSelected)              result.setBackground(missingColorSelected);            else              result.setBackground(missingColor);          }        }        else {          setToolTipText(null);          if (found) {            if (isSelected)              result.setBackground(highlightColorSelected);            else              result.setBackground(highlightColor);          }          else {            if (isSelected)              result.setBackground(table.getSelectionBackground());            else              result.setBackground(Color.WHITE);          }        }                // alignment        if (model.getType(row, column) == Attribute.NUMERIC)          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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -