?? threadstablemodel.java
字號:
package siuying.gm.app.gmailer4j.model;
import java.util.*;
import javax.swing.table.*;
import siuying.gm.structure.*;
/**
* ThreadsTableModel
* @version v0.1.2
*/
public class ThreadsTableModel extends javax.swing.table.AbstractTableModel{
private ArrayList messageThreads;
private HashMap box;
private static String[] columnName = {"Subject", "Date", "Author"};
public ThreadsTableModel() {
this.messageThreads = new ArrayList();
this.box = new HashMap();
}
/**
* getColumnCount
*
* @return int
*/
public int getColumnCount() {
return 3;
}
/**
* getRowCount
*
* @return int
*/
public int getRowCount() {
if (messageThreads != null){
return messageThreads.size();
}else{
return 0;
}
}
/**
* getValueAt
*
* @param rowIndex int
* @param columnIndex int
* @return Object
*/
public Object getValueAt(int rowIndex, int columnIndex) {
try{
GMThread msg = (GMThread) messageThreads.get(rowIndex);
switch(columnIndex){
case 0:
return "<html>" + msg.getSubjectHtml() + "</html>";
case 1:
return "<html>" + msg.getDateHtml() + "</html>";
case 2:
return "<html>" + msg.getAuthorsHtml() + "</html>";
default:
return "";
}
}catch(ClassCastException cce){
return "";
}
}
public Class getColumnClass(int index){
return String.class;
}
public ArrayList getMessageThreads() {
return messageThreads;
}
public String getColumnName(int idx){
if (idx < columnName.length){
return columnName[idx];
}else{
return "";
}
}
public void setCurrentBox(String box) {
if (this.box.get(box) == null){
ArrayList newMessageThreads = new ArrayList();
this.box.put(box, newMessageThreads);
this.messageThreads = newMessageThreads;
}else{
this.messageThreads = (ArrayList) this.box.get(box);
}
this.fireTableDataChanged();
}
public String getMailboxName(){
if (this.box.containsValue(this.messageThreads)){
Set keys = this.box.keySet();
for(Iterator iter = keys.iterator(); iter.hasNext(); ){
String key = (String)iter.next();
if (this.box.get(key).equals(this.messageThreads)){
return key;
}
}
return null;
}else{
return null;
}
}
public void setMessageThreads(String box, ArrayList messageThreads) {
this.messageThreads = messageThreads;
this.box.put(box, messageThreads);
this.fireTableDataChanged();
}
public String toString(){
return box.toString();
}
public void clear(){
messageThreads = null;
for(Iterator i = box.values().iterator(); i.hasNext();){
ArrayList list = (ArrayList)i.next();
list.clear();
}
box = null;
}
public ArrayList getBox(String box){
if (this.box.get(box) == null){
ArrayList newMessageThreads = new ArrayList();
this.box.put(box, newMessageThreads);
return newMessageThreads;
}else{
return (ArrayList)this.box.get(box);
}
}
/**
* get a Thread from current selected message threads (of a mailbox)
* @param idx index of the thread
* @return GMThread Return select message thread;
* if the index is not valid (smaller than zero or larger than
* message thread size), or no message threads selected, return null
*/
public GMThread getThread(int idx){
// if requesting index is out of range, return null
if (this.messageThreads == null || idx < 0 ||
this.messageThreads.size() == 0 || this.messageThreads.size() <= idx){
return null;
}
return (GMThread) this.messageThreads.get(idx);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -