网站首页

家园论坛

老版论坛

家园博客

业界新闻

技术文档

下载中心

速查中心

图片中心

硬件资讯
上一篇:JAVA教程 第七讲 Swing用户界面设计(一) 下一篇:JAVA教程 第八讲 Java网络编程(一)
JAVA教程 第七讲 Swing用户界面设计(二)

来源: 作者: 添加日期:2005-9-4 19:19:56 点击次数:

        "01063541298", new Integer(4000), new Boolean(false)}
      };

      //下述方法是重写AbstractTableModel中的方法,其主要用途是被JTable对象调用,以便在表格中正确的显示出来。程序员必须根据采用的数据类型加以恰当实现。
 
      //获得列的数目

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

      //获得行的数目
      public int getRowCount() {
         return data.length;
      }

      //获得某列的名字,而目前各列的名字保存在字符串数组columnNames中
      public String getColumnName(int col) {
         return columnNames[col];
      }

      //获得某行某列的数据,而数据保存在对象数组data中
      public Object getValueAt(int row, int col) {
         return data[row][col];
      }

      //判断每个单元格的类型
      public Class getColumnClass(int c) {
         return getValueAt(0, c).getClass();
      }

      //将表格声明为可编辑的
      public boolean isCellEditable(int row, int col) {

         if (col < 2) {
           return false;
         } else {
           return true;
         }
      }

      //改变某个数据的值
      public void setValueAt(Object value, int row, int col) {
         if (DEBUG) {
           System.out.println("Setting value at " + row + ",
                 " + col
                  + " to " + value
                  + " (an instance of "
                  + value.getClass() + ")");
         }

         if (data[0][col] instanceof Integer
             && !(value instanceof Integer)) {
          try {
             data[row][col] = new Integer(value.toString());
             fireTableCellUpdated(row, col);
          } catch (NumberFormatException e) {
             JOptionPane.showMessageDialog(TableDemo.this,
              "The \"" + getColumnName(col)
              + "\" column accepts only integer values.");
          }
      } else {
          data[row][col] = value;
          fireTableCellUpdated(row, col);
      }

      if (DEBUG) {
          System.out.println("New value of data:");
          printDebugData();
      }
   }

   private void printDebugData() {
     int numRows = getRowCount();
      int numCols = getColumnCount();

      for (int i=0; i < numRows; i++) {
        System.out.print(" row " + i + ":");
        for (int j=0; j < numCols; j++) {
          System.out.print(" " + data[i][j]);
        }
        System.out.println();
      }
      System.out.println("--------------------------");
   }
  }

  public static void main(String[] args) {

本新闻共5页,当前在第2页  1  2  3  4  5  

 
设为首页 | 加入收藏 | 业务办理 | 友情链接 | 论坛版面 | 浙ICP备07502118号 |