tablefield.java

来自「工厂版本管理系统,STRUTS2框架,用于管理商品的版本,便于有效的控制版本」· Java 代码 · 共 91 行

JAVA
91
字号
package com.utstar.fcs.domain.workinstruction.field;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import com.utstar.fcs.domain.workinstruction.Field;

public class TableField extends Field {
	private List<TableRow> rows = new ArrayList<TableRow>();

	public static TableField getSample() {
		TableField field = new TableField();

		for (int i = 0; i < 5; i++) {
			String srow = Integer.valueOf(i).toString() + "-";
			field.AddRow(new TableRow(srow + "1", srow + "2", srow + "3"));
		}

		return field;
	}

	@Override
	protected Object clone() throws CloneNotSupportedException {
		
		TableField field = (TableField) super.clone();
		field.rows = new ArrayList<TableRow>();
		
		Iterator<TableRow> it = rows.iterator();
		while(it.hasNext()){
			TableRow tr1 = it.next();
			TableRow tr2 = (TableRow)tr1.clone();
			field.AddRow(tr2);
		}		
		
		return field;
	}
	
	public void AddRow(TableRow row) {
		rows.add(row);
		row.setField(this);
	}

	@Override
	public String toString() {
		StringBuilder sb = new StringBuilder();
		Iterator<TableRow> it = rows.iterator();
		while(it.hasNext()){
			TableRow row = it.next();
			
			if(sb.length()>0)
				sb.append(";");
			
			sb.append(row.toString());
		}
		
		return sb.toString();
	}

	public void loadFromString(String str){
		rows.clear();
		
		String[] _rows = str.split(";");
		for(int i =0;i<_rows.length;i++){
			String[] _cols = _rows[i].split(",");
			TableRow tr = new TableRow(_cols);
			
			rows.add(tr);
			tr.setField(this);
		}
	}
	
	@Override
	public void setValue(String value) {
		loadFromString(value);
	}
	
	public String getCell(int row,int col){
		return rows.get(row).getCol(col);
	}
	
	public List<TableRow> getRows() {
		return rows;
	}

	public void setRows(List<TableRow> rows) {
		this.rows = rows;
	}

}

⌨️ 快捷键说明

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