📄 allclienttablemodel.java
字号:
//table model to show all client
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
//import javax.swing.event.*;
import java.util.*;
public class AllClientTableModel extends DefaultTableModel /*implements ListSelectionListener*/{
//private static JTable Table;
private static int clientNum;
private static String[] columnNames;
private static Object[][] data;
static Object[] longValues; //compare criteria
static void initiate(int n){
//long clientID;
//LinkedList<Long> friendList;
clientNum=n;
ClientData cd;
data=new Object[clientNum][9];
columnNames =new String[]{"ID","Name","Online","IP","Age","Sex",
"From","E-mail",/**/"Registered Date"};
longValues=new Object[]{new Long(1000),"mycoy zwz",Boolean.FALSE,"196.128.101.1000",
"200","Female","American","zw_z7@hotmail.com",/**/(new Date()).toString()+"11"};
for(int i=0;i<clientNum;i++){ //get client by index in list
cd=Server.getServerDatabase().getClient(i);
//clientID=cd.getID();
//end of the client-list has been reached, maybe a client has been deled after getting clientsNum
if(cd==null)
break;
int j=0; //add info to data[][]
data[i][j++]=new Long(cd.getID());
data[i][j++]=cd.getName();
data[i][j++]=new Boolean(cd.isOnline());
data[i][j++]=cd.getIP();
data[i][j++]=cd.getAge();
data[i][j++]=cd.getSex();
data[i][j++]=cd.getFrom();
data[i][j++]=cd.getMail();
data[i][j++]=cd.getRegistryDate().toString();
}
}
/*public void valueChanged(ListSelectionEvent lse){
int firstRow=lse.getFirstIndex();
//System.out.println("first row:"+Table.getSelectedRow());
int lastRow=lse.getLastIndex();
//long tempID=((Long)table.getValueAt(firstRow,0)).longValue();
//idField.setText(table.getValueAt(firstRow,0).toString());
}*/
boolean hasClient(){ //return true if has any registered client
return !(clientNum==0);
}
public int getRowCount() {
//return 4;
//System.out.println(data);
return data.length;
}
public int getColumnCount() {
//return 10;
return columnNames.length;
}
/*without the method,the header of the table will be A B C.....*/
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
/*
* JTable uses this method to determine the default renderer/
* editor for each cell. If we didn't implement this method,
* then the last column would contain text ("true"/"false"),
* rather than a check box.
*/
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
static void setTableWidth(JTable table){ //adjust table width appropriately
//Table=table;
AllClientTableModel model = (AllClientTableModel)table.getModel();
TableColumn column = null;
Component comp = null;
int headerWidth = 0;
int cellWidth = 0;
Object[] longValues = model.longValues;
TableCellRenderer headerRenderer =
table.getTableHeader().getDefaultRenderer();
for (int i = 0; i < 9; i++) {
column = table.getColumnModel().getColumn(i);
/*column.sizeWidthToFit();*/
comp = headerRenderer.getTableCellRendererComponent(
null, column.getHeaderValue(),
false, false, 0, 0);
headerWidth = comp.getPreferredSize().width;
comp = table.getDefaultRenderer(model.getColumnClass(i)).
getTableCellRendererComponent(
table, longValues[i],
false, false, 0, i);
cellWidth = comp.getPreferredSize().width;
column.setPreferredWidth(Math.max(headerWidth, cellWidth));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -