java的表格

和树状物一样,表格在Swing相当的庞大和强大。它们最初有意被设计成以Java数据库连结(JDBC,在15章有介绍)为媒介的“网格”数据库接口,并且因此它们拥有的巨大的灵活性,使我们不再感到复杂。无疑,这是足以成为成熟的电子数据表的基础条件而且可能为整本书提供很好的根据。但是,如果我们理解这个的基础条件,它同样可能创建相关的简单的Jtable。
JTable控制数据的显示方式,但TableModel控制它自己的数据。因此在我们创建JTable前,应先创建一个TableModel。我们可以全部地执行TableModel接口,但它通常从helper类的AbstractTableModel处简单地继承:
 

//: Table.java
// Simple demonstration of JTable
package c13.swing;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;

// The TableModel controls all the data:
class DataModel extends AbstractTableModel {
  Object[][] data = {
    {"one", "two", "three", "four"},
    {"five", "six", "seven", "eight"},
    {"nine", "ten", "eleven", "twelve"},
  };
  // Prints data when table changes:
  class TML implements TableModelListener {
    public void tableChanged(TableModelEvent e) {
      for(int i = 0; i < data.length; i++) {
        for(int j = 0; j < data[0].length; j++)
          System.out.print(data[i][j] + " ");
        System.out.println();
      }
    }
  }
  DataModel() {
    addTableModelListener(new TML());
  }
  public int getColumnCount() {
    return data[0].length;
  }
  public int getRowCount() {
    return data.length;
  }
  public Object getValueAt(int row, int col) {
    return data[row][col];
  }
  public void
  setValueAt(Object val, int row, int col) {
    data[row][col] = val;
    // Indicate the change has happened:
    fireTableDataChanged();
  }
  public boolean
  isCellEditable(int row, int col) {
    return true;
  }
};       

public class Table extends JPanel {
  public Table() {
    setLayout(new BorderLayout());
    JTable table = new JTable(new DataModel());
    JScrollPane scrollpane =
      JTable.createScrollPaneForTable(table);
    add(scrollpane, BorderLayout.CENTER);
  }
  public static void main(String args[]) {
    Show.inFrame(new Table(),200,200);
  }
} ///:~

DateModel包括一组数据,但我们同样能从其它的地方得到数据,例如从数据库中。构建器增加了一个TableModelListener用来在每次表格被改变后打印数组。剩下的方法都遵循Bean的命名规则,并且当JTable需要在DateModel中显示信息时调用。AbstractTableModel提供了默认的setValueAt()和isCellEditable()方法以防止修改这些数据,因此如果我们想修改这些数据,就必须过载这些方法。
一旦我们拥有一个TableModel,我们只需要将它分配给JTable构建器即可。所有有关显示,编辑和更新的详细资料将为我们处理。注意这个程序例子同样将JTable放置在JScrollPane中,这是因为JScrollPane需要一个特殊的JTable方法。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索int
, 数据
, jtable
, data
, public
, java swing 打印
, java jtable
TableModel
java读取word中的表格、java提取pdf中的表格、java导出excel表格、java 表格控件、javaweb导出excel表格,以便于您获取更多的相关知识。

时间: 2024-10-23 02:07:45

java的表格的相关文章

java 自定义表格 面板

问题描述 java 自定义表格 面板 如何用java实现一个自定义表格的编写,并将这个表格添加到面板上 解决方案 手把手教你做一个自定义表格标签 博客分类: J2EE 表格自定义标签grid分页table 如果你用公司的平台进行开发的话,许多时候向按钮,输入框,树,菜单等都是直接用一个标签设置几个属性就可以了.全局上样式是统一的,而且容易维护. 之前我已经发使用自定义标签来做数据字典的示例,也就是说自定义标签并不是你想的那么难,今天就再来作一个自定标标签实现的表格控件.当然你别较真,麻雀虽小五脏

java swing 表格相关操作

Java swing 表格相关操作 (1)设置表格数据 Java代码   public static void setTableData3(JTable parameterTable_1,Map requestMap,boolean hasTextField,boolean isTF_table_cell,String[]columnNames) {           System.out.println("setTableData3");           int length 

java GridBagLayout 表格内容不显示,,而且会自动居中

问题描述 java GridBagLayout 表格内容不显示,,而且会自动居中 如果不用JScrollPane,布局正常,但是不显示表头```package com.haiersoft.jxc.kcgl.view; import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.GridBagConstraints;import java.awt.GridBagLayout;import java.awt.Insets;

java swing表格中包含单选框

1,如何让表单中显示单选框呢?   步骤一:设置表格数据 在表格的data中设置元素为JRadioButton Java代码   public void layoutTable( ) {//TODO           Object[][] datas=new Object[4][3];           for(int i=0;i<4;i++){               Object[]objs=new Object[3];               JPanel panel=new 

java怎么将 excel表格含义空单元格、合并的单元格怎么导入数据库

问题描述 java怎么将 excel表格含义空单元格.合并的单元格怎么导入数据库 java excel表格含义空单元格.合并的单元格怎么导入数据库 解决方案 JAVA POI 操作EXCEL 合并单元格 解决方案二: 你是不会用Java读取Excel还是读取了但是不能写入数据库,, 具体是什么问题,, POI操作Excel:http://blog.csdn.net/hekewangzi/article/category/5698027 解决方案三: 可以使用java的POI完成对excel的操作

java之swing表格实现方法_java

本文实例讲述了java之swing表格实现方法.分享给大家供大家参考.具体如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*; public class test extends JApplet{ public void init(){ Container contentPane = getContentPane(); contentPane.setLayo

Java实现操作excel表格_java

最近老师布置了个任务,用Java对excel后缀名为xlsx的文件进行简单的增,删,改,查操作:虽说是个简单的程序,可作为刚接触的我来说还是有些磕磕碰碰.不过好在还是完成了,进行一个简单的总结.   首先导入了一个poi.jar 网上有很多这个资源可以下载 XSSFSheet sheet=null; XSSFWorkbook book=null; 一:查  (查找本地指定位置的excel表格,在控制台输出) public void print_excel(){ //获取excel表格的行数 in

java在pdf中生成表格的方法_java

1.目标 在pdf中生成一个可变表头的表格,并向其中填充数据.通过泛型动态的生成表头,通过反射动态获取实体类(我这里是User)的get方法动态获得数据,从而达到动态生成表格. 每天生成一个文件夹存储生成的pdf文件(文件夹的命名是年月日时间戳),如:20151110 生成的文件可能在毫秒级别,故文件的命名规则是"到毫秒的时间戳-uuid",如:20151110100245690-ece540e5-7737-4ab7-b2d6-87bc23917c8c.pdf 通过读取properti

js表格自动隔行变色

Css代码   tr.odd td {       color: #223;       background-color: #ec8;   }   tr.highlight td {       color: #223;       background-color: #e3e3e3;   }     asda Java代码   /**  * 隔行换色,鼠标移动上色  * Create by phoenix @ 2013-11-19  */      (function ($) {