📄 qqtablemodel.java
字号:
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
class QQTableModel extends AbstractTableModel
{
public static final int CHECK_COLUMN=0;
public static final int NAME_COLUMN=1;
public static final int DATE_COLUMN=2;
public static final int MD5_COLUMN=3;
private String[] columnsName={"","QQ号码","上次登录时间","MD5值"};
private Vector<QQData> cells;
public QQTableModel(Vector<QQData> data)
{
cells=data;
}
public String getColumnName(int c)
{
return columnsName[c];
}
public Class getColumnClass(int c)
{
if(c==CHECK_COLUMN)
return Boolean.class;
if(c==NAME_COLUMN)
return JLabel.class;
return String.class;
}
public Object getValueAt(int r,int c)
{
QQData data=cells.get(r);
if(c==CHECK_COLUMN)
return data.isSelected();
if(c==NAME_COLUMN)
return data.getName();
if(c==DATE_COLUMN)
return data.getDateString();
if(c==MD5_COLUMN)
return data.getMD5();
return null;
}
public int getColumnCount()
{
return columnsName.length;
}
public int getRowCount()
{
return cells.size();
}
public void setValueAt(Object value,int r,int c)
{
QQData data=cells.get(r);
if(c==CHECK_COLUMN)
data.setSelected((Boolean)value);
else if(c==NAME_COLUMN)
data.setName(value.toString());
else if(c==DATE_COLUMN)
data.setDate(new GregorianCalendar());
else if(c==MD5_COLUMN)
{
data.setMD5(value.toString());
System.out.println(value.toString());
}
}
public boolean isCellEditable(int r,int c)
{
return c==CHECK_COLUMN;
}
public void fireTableDataChanged()
{
super.fireTableDataChanged();
boolean noSelection=true;
for(int r=0;r<getRowCount();r++)
{
if((Boolean)getValueAt(r,CHECK_COLUMN))
noSelection=false;
}
if(noSelection)
EnterQQ.getStartButton().setEnabled(false);
else
EnterQQ.getStartButton().setEnabled(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -