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

📄 linktablemodel.java

📁 java聊天室服务器
💻 JAVA
字号:
package XXRoom;

import javax.swing.table.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Calendar;
import java.util.GregorianCalendar;

class LinkTableModel extends AbstractTableModel
{
	private List columnNames = new ArrayList();
	private List data = new ArrayList();
	
	public LinkTableModel() {
		super();
		columnNames.add( "IP" );		
		columnNames.add( "NickName" );
		columnNames.add( "ConnTime" );
	}

	public int getColumnCount() {
		return columnNames.size();
	}

	public int getRowCount() {
		return data.size();
	}

	public String getColumnName( int col ) {		
		return (String)columnNames.get( col );
	}

	public Object getValueAt( int row, int col ) {
		if( col == 2 )
		{
			Calendar c = (Calendar)( (List)data.get( row ) ).get( col );
			return c.get( Calendar.HOUR_OF_DAY ) + ":" + c.get( Calendar.MINUTE ) + ":" + c.get( Calendar.SECOND );
		}			
		else
			return ( (List)data.get( row ) ).get( col );
	}

	public Class getColumnClass( int c ) {
//		return getValueAt( 0, c ).getClass();		
		return String.class;
	}

	public boolean isCellEditable( int row, int col ) {
		return false;
	}

	public void setValueAt( Object value, int row, int col ) {
		( (List)data.get( row ) ).set( col, value );
	}
	
	public void printDebugData() {
		for( int i = 0; i < data.size(); i ++ ) {
			for( int j = 0; j < ((List)data.get( i )).size() -1 ; j ++ ) {
				System.out.println( ((List)data.get( i )).get( j ) );
			}
		}
	}

	public void addGuest( String ip,  String nickName )	{
		List l = new ArrayList();
		l.add( ip );		
		l.add( nickName );
		l.add( new GregorianCalendar() );
		//增加信息
		data.add( l );		
	}

	public void removeGuest( int row ) {
		try
		{
			//删除信息
			data.remove( row );			
		}
		catch ( ArrayIndexOutOfBoundsException e )
		{
			e.printStackTrace();
		}
	}	


	public void removeGuestFromIP( String ip ) {		
		for( int i = 0; i < data.size(); i ++ ) {
			List l = (List)data.get( i );
			if( l.get( 0 ).equals( ip ) ) {
				data.remove( l );
				break;
			}
		}	
	}
	
	public void removeGuestFromNickName( String nickName ) {
		for( int i = 0; i < data.size(); i ++ ) {
			List l = (List)data.get( i );
			if( l.get( 1 ).equals( nickName ) ) {
				data.remove( l );
				break;
			}
		}	
	}

	public boolean isGuestExsit( String nickName ) {
		for( int i = 0; i < data.size(); i ++ ) {			
			if( getValueAt( i, 1 ).equals( nickName ) ) {
				return true;
			}
		}
		return false;
	}
};

⌨️ 快捷键说明

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