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

📄 downloadstablemodel.java

📁 一个网络上传下载器
💻 JAVA
字号:
package DownloadManager;import java.util.*;import javax.swing.*;import javax.swing.table.*;/** This class manages the download table's data. @author Liu Yu Yang */class DownloadsTableModel extends AbstractTableModel        implements Observer {    // These are the names for the table's columns.    private static final String[] columnNames = {"File name", "File size",    "Used Time", "Status"};        // These are the classes for each column's values.    private static final Class[] columnClasses = {String.class,    String.class, String.class, String.class};        // The table's list of downloads.    private ArrayList downloadList = new ArrayList();        // Add a new download to the table.    @SuppressWarnings("unchecked")    public void addDownload(Download download) {        // Register to be notified when the download changes.        download.addObserver(this);                downloadList.add(download);                // Fire table row insertion notification to table.        fireTableRowsInserted(getRowCount() - 1, getRowCount() - 1);    }        // Get a download for the specified row.    public Download getDownload(int row) {        return (Download) downloadList.get(row);    }        // Remove a download from the list.    public void clearDownload(int row) {        downloadList.remove(row);                // Fire table row deletion notification to table.        fireTableRowsDeleted(row, row);    }        // Get table's column count.    public int getColumnCount() {        return columnNames.length;    }        // Get a column's name.    @Override    public String getColumnName(int col) {        return columnNames[col];    }        // Get a column's class.    @Override    public Class getColumnClass(int col) {        return columnClasses[col];    }        // Get table's row count.    public int getRowCount() {        return downloadList.size();    }        // Get value for a specific row and column combination.    public Object getValueAt(int row, int col) {        Download download = (Download) downloadList.get(row);        switch (col) {            case 0: // URL                return download.getFileName();            case 1: // Size                long size = download.getSize();                return (size == -1) ? "" : String.valueOf(size);            case 2: // Progress                return new Float(download.getUsedTime());            case 3: // Status                return Download.STATUSES[download.getStatus()];        }        return "";    }      /* Update is called when a Download notifies its     observers of any changes */    public void update(Observable o, Object arg) {        int index = downloadList.indexOf(o);        // Fire table row update notification to table.        fireTableRowsUpdated(index, index);    }}

⌨️ 快捷键说明

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