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

📄 tablevalues.java

📁 < ProJavaProgrammingSecondEdition> 书中例程源码
💻 JAVA
字号:
import java.util.Calendar;
import java.util.GregorianCalendar;
import javax.swing.table.AbstractTableModel;

public class TableValues extends AbstractTableModel {

  public final static int FIRST_NAME = 0;
  public final static int LAST_NAME = 1;
  public final static int DATE_OF_BIRTH = 2;
  public final static int ACCOUNT_BALANCE = 3;
  public final static int GENDER = 4;

  public final static boolean GENDER_MALE = true;
  public final static boolean GENDER_FEMALE = false;

  public final static String[] columnNames = {"First\nName", "Last\nName",
      "Date of\nBirth", "Account\nBalance", "Gender"};

  public Object[][] values = {
     {
      "Clay", "Ashworth", 
      new GregorianCalendar(1962, Calendar.FEBRUARY, 20).getTime(), 
      new Float(12345.67), new Boolean(GENDER_MALE)
    }, {
      "Jacob", "Ashworth", 
      new GregorianCalendar(1987, Calendar.JANUARY, 6).getTime(), 
      new Float(23456.78), new Boolean(GENDER_MALE)
    }, {
      "Jordan", "Ashworth", 
      new GregorianCalendar(1989, Calendar.AUGUST, 31).getTime(), 
      new Float(34567.89), new Boolean(GENDER_FEMALE)
    }, {
      "Evelyn", "Kirk", 
      new GregorianCalendar(1945, Calendar.JANUARY, 16).getTime(), 
      new Float(-456.70), new Boolean(GENDER_FEMALE)
    }, {
      "Belle", "Spyres", 
      new GregorianCalendar(1907, Calendar.AUGUST, 2).getTime(), 
      new Float(567.00), new Boolean(GENDER_FEMALE)
    }
  };

  public int getRowCount() {
    return values.length;
  } 

  public int getColumnCount() {
    return values[0].length;
  } 

  public Object getValueAt(int row, int column) {
    return values[row][column];
  } 

  public String getColumnName(int column) {
    return columnNames[column];
  }

  public Class getColumnClass(int column) {
    Class dataType = super.getColumnClass(column);
    if (column == ACCOUNT_BALANCE) {
      dataType = Float.class;
    }
    else if (column == DATE_OF_BIRTH) {
      dataType = java.util.Date.class;
    }
    else if ((column == FIRST_NAME) || (column == LAST_NAME)) {
      dataType = String.class;
    }
    else if (column == GENDER) {
      dataType = Boolean.class;
    }
    return dataType;
  }

  public boolean isCellEditable(int row, int column) {
    if (column == GENDER) {
      return true;
    }
    return false;
  }

  public void setValueAt(Object value, int row, int column) {
    values[row][column] = value;
  }

}

⌨️ 快捷键说明

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