📄 tablemodel.java
字号:
package net.aetherial.gis.surface.design.cun;
import javax.swing.table.AbstractTableModel;
import net.aetherial.gis.surface.ItemValue;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import net.aetherial.gis.table.WuWei;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class TableModel extends AbstractTableModel{
private int pos_start = -1,pos_end = -1;
private String xiangzhen = "";
WuWei ww = null;
public TableModel() {
ww = new WuWei();
// ww.read();
//getdata();
}
private boolean dataEdit = false;
private String[] columnNames = {"乡镇","行政村","面积","自然村","地形","是否有条件通公路","是否建有渡口","人口","人均收入","经济活动","备注"};
private Object[][] data = {{"禅堂乡","清水","4.76","3","平原","有","无","2161","2160","种植、养殖、林木",""},{"禅堂乡","清水","4.76","3","平原","有","无","2161","2160","种植、养殖、林木",""}};//same as before...
public void getdata(){
//System.out.println("pos_end:" + pos_end + ",pos_start:" + pos_start);
String beizhu = "";
this.data = new Object[pos_end - pos_start][11];
for (int i = pos_start; i < pos_end; i++) {
data[i-pos_start][0] = ww.wuchen_xiangzhen[i];
data[i-pos_start][1] = ww.wuwei_cun[i];
data[i-pos_start][2] = ww.wmianji[i];
data[i-pos_start][3] = ww.wzirancun[i];
data[i-pos_start][4] = ww.wdixing[i];
data[i-pos_start][5] = ww.wtiaojian[i];
data[i-pos_start][6] = ww.wdukou[i];
data[i-pos_start][7] = ww.wuwei_renkou[i];
data[i-pos_start][8] = ww.wuwei_shouru[i];
data[i-pos_start][9] = ww.wuwei_jinji[i];
beizhu = ww.wbeizhu[i];
if (beizhu.equals("#")) {
data[i-pos_start][10] = "";
}else{
data[i - pos_start][10] = beizhu;
}
}
// this.printData();
}
public Object[] getRow(int row){
return data[row];
}
private void printData(){
if (this.data != null) {
for (int i = 0; i < data.length; i++) {
System.out.println("data["+i+"]"+data[i][0] + "," + data[i][0] + "," + data[i][0] + "," + data[i][0] + "," + data[i][0]);
}
}else{
System.out.println("data == null!");
}
}
public String[] getAllXiangzhen(){
String[] xzArray = new String[ww.wuwei.length];
for (int i = 0; i < ww.wuwei.length; i++) {
xzArray[i] = ww.wuwei[i][0];
}
return xzArray;
}
private void test(){
System.out.println("ww.wuwei = {");
for (int i = 0; i < ww.wuwei.length; i++) {
System.out.println("\t{\"" + ww.wuwei[i][0] + "\",\"" + ww.wuwei[i][1] + "\"},");
}
System.out.println("}");
}
public void setXiangzhen(String xiangzhen){
this.xiangzhen = xiangzhen;
boolean find = false;
this.pos_end = ww.wuwei_cun.length;
for (int i = 0; i < ww.wuwei.length; i++) {
if (find) {
this.pos_end = Integer.parseInt(ww.wuwei[i][1]);
break;
}
if (ww.wuwei[i][0].equals(xiangzhen)) {
this.pos_start = Integer.parseInt(ww.wuwei[i][1]);
find = true;
}
}
// System.out.println("start:" + this.pos_start +",end:" + this.pos_end);
}
private void getSomeXZC(String xiangzhen){//得到指定乡镇的行政村下标
String xb1 ="",xb2 ="0";
for(int i = 0;i<ww.wuwei.length;i++){
if((!xb1.equals(""))){
xb2 = ww.wuwei[i][1];
break;
}
if(xiangzhen.equals(ww.wuwei[i][0])){
xb1 = ww.wuwei[i][1];
}
}
int xb1Int =Integer.parseInt(xb1),xb2Int = Integer.parseInt(xb2);
int len = xb2Int -xb1Int;
if(len <0){
len = ww.wuwei_cun.length -1 - xb1Int;
}
}
public void setDataEdited(){
this.dataEdit = true;
}
public boolean getDataEdit(){
return this.dataEdit;
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
/*
* Don't need to implement this method unless your table's
* editable.
*/
public boolean isCellEditable(int row, int col) {
//Note that the data/cell address is constant,
//no matter where the cell appears onscreen.
//
// if (col < 2) {
// return false;
// } else {
// return true;
// }
return false;
}
/*
* Don't need to implement this method unless your table's
* data can change.
*/
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -