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

📄 foldermodel.java

📁 实例大全
💻 JAVA
字号:
/* * @(#)FolderModel.java	1.10 99/12/09 * * Copyright 1997-1999 Sun Microsystems, Inc. All Rights Reserved. *  * This software is the proprietary information of Sun Microsystems, Inc.   * Use is subject to license terms. *  */import javax.mail.*;import java.util.Date;import javax.swing.table.AbstractTableModel; /** * Maps the messages in a Folder to the Swing's Table Model * * @version	1.10, 99/12/09 * @author	Christopher Cotton * @author	Bill Shannon */public class FolderModel extends AbstractTableModel {        Folder	folder;    Message[]	messages;    String[]	columnNames = { "Date", "From", "Subject"};     Class[]	columnTypes = { String.class, String.class, String.class };     public void setFolder(Folder what) throws MessagingException {	if (what != null) {	    // opened if needed	    if (!what.isOpen()) {		what.open(Folder.READ_WRITE);	    }    	    // get the messages	    messages = what.getMessages();	    cached = new String[messages.length][];	} else {	    messages = null;	    cached = null;	}	// close previous folder and switch to new folder	if (folder != null)	    folder.close(true);	folder = what;    }        public Message getMessage(int which) {	return messages[which];    }    //---------------------    // Implementation of the TableModel methods    //---------------------    public String getColumnName(int column) {	return columnNames[column];    }        public Class getColumnClass(int column) {	return columnTypes[column];    }        public int getColumnCount() {        return columnNames.length;     }    public int getRowCount() {	if (messages == null)	    return 0;		return messages.length;    }     public Object getValueAt(int aRow, int aColumn) {	switch(aColumn) {	case 0:	// date	case 1: // From		String[] what = getCachedData(aRow);	case 2: // Subject	    String[] what = getCachedData(aRow);	    if (what != null) {		return what[aColumn];	    } else {		return "";	    }	    	default:	    return "";	}    }    protected static String[][]	cached;        protected String[] getCachedData(int row) {	if (cached[row] == null) {	    try{		Message m = messages[row];	    		String[] theData = new String[4];	    		// Date		Date date = m.getSentDate();		if (date == null) {		    theData[0] = "Unknown";		} else {		    theData[0] = date.toString();		}	    		// From		Address[] adds = m.getFrom();		if (adds != null && adds.length != 0) {		    theData[1] = adds[0].toString();	    		} else {		    theData[1] = "";		}				// Subject		String subject = m.getSubject();		if (subject != null) {		    theData[2] = subject;		} else {		    theData[2] = "(No Subject)";		}		cached[row] = theData;	    }	    catch (MessagingException e) {		e.printStackTrace();	    }	}		return cached[row];    }}

⌨️ 快捷键说明

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