resultsettable.java

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

JAVA
139
字号
/* *    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. *//* * ResultSetTable.java * Copyright (C) 2005 University of Waikato, Hamilton, New Zealand * */package weka.gui.sql;import weka.gui.JTableHelper;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JTable;import javax.swing.table.TableColumnModel;/** * Represents an extended JTable, containing a table model based on a ResultSet * and the corresponding query. * * @author      FracPete (fracpete at waikato dot ac dot nz) * @version     $Revision: 1.2 $ */public class ResultSetTable  extends JTable {  /** for serialization */  private static final long serialVersionUID = -3391076671854464137L;  /** the query the table model is based on */  protected String m_Query;  /** the connect string with which the query was run */  protected String m_URL;  /** the user that was used to connect to the DB */  protected String m_User;  /** the password that was used to connect to the DB */  protected String m_Password;  /**   * initializes the table   * @param url         the database URL   * @param user        the database user   * @param pw          the database password   * @param query       the query   */  public ResultSetTable(String url, String user, String pw, String query,                         ResultSetTableModel model) {    super(model);    m_URL      = url;    m_User     = user;    m_Password = pw;    m_Query    = query;        setAutoResizeMode(JTable.AUTO_RESIZE_OFF);    // optimal colwidths (only according to header!)/cell renderer    for (int i = 0; i < getColumnCount(); i++) {      JTableHelper.setOptimalHeaderWidth(this, i);      getColumnModel().getColumn(i).setCellRenderer(          new ResultSetTableCellRenderer());    }        // double click on column displays optimal colwidth    final JTable table = this;    getTableHeader().addMouseListener(new MouseAdapter() {      public void mouseClicked(MouseEvent e) {        TableColumnModel columnModel = getColumnModel();        int viewColumn = columnModel.getColumnIndexAtX(e.getX());        int column = convertColumnIndexToModel(viewColumn);        if (    (e.getButton() == MouseEvent.BUTTON1)             && (e.getClickCount() == 2)             && (column != -1) )          JTableHelper.setOptimalColumnWidth(table, column);      }    });    getTableHeader().setToolTipText("double left click on column displays the column with optimal width");  }  /**   * returns the database URL that produced the table model   */  public String getURL() {    return m_URL;  }  /**   * returns the user that produced the table model   */  public String getUser() {    return m_User;  }  /**   * returns the password that produced the table model   */  public String getPassword() {    return m_Password;  }  /**   * returns the query that produced the table model   */  public String getQuery() {    return m_Query;  }  /**   * frees up the memory   */  public void finalize() throws Throwable {    if (getModel() != null)      ((ResultSetTableModel) getModel()).finalize();        super.finalize();    System.gc();  }}

⌨️ 快捷键说明

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