searchresultmodel.java

来自「java的3个小实验」· Java 代码 · 共 79 行

JAVA
79
字号
package src;

import java.util.LinkedList;
import java.util.List;

import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.AbstractTableModel;

public class SearchResultModel extends AbstractTableModel
{
	private List data=new LinkedList();
	private List changedData=new LinkedList();
	private boolean hasHead=false;
	public SearchResultModel(String[] head,List contentData)
	{
		   if(head!=null)
		   {
			   data.add(head);
			   hasHead=true;
		   }
		   for(int i=0;i<contentData.size();i++)
		   {
			   data.add(contentData.get(i));
		   }
	}
	public int getColumnCount()
	{
		if(data.size()>0)
		{
			return ((String[])data.get(0)).length;
		}
		return 0;
	}
	public int getRowCount() {
		return data.size();
	}
	public Object getValueAt(int row, int col) 
	{
		return ((String[])data.get(row))[col];
	}
	public void setValueAt(Object val,int row,int col)
	{
		((String[])data.get(row))[col]=val+"";
		 changedData.add(new Integer(row));
	}
	public boolean isCellEditable(int row,int col)
	{
		boolean result=true;
		if(hasHead==true)
		{
			if(row==0)
			{
				result=false; 
			}
		}
		return result;
	}
	public List getStoringData()
	{
		List storingData=new LinkedList();
		for(int i=0;i<changedData.size();i++)
		{
			storingData.add(data.get(((Integer)changedData.get(i)).intValue()));
		}
		return storingData;
	}
	public SearchResultModel()
	{
		this.addTableModelListener(new TableModelListener()
		{
			public void tableChanged(TableModelEvent event)
			{
				//TODO
			}
		});
	}
}

⌨️ 快捷键说明

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