swing_tableModel 创建表格

  1 import java.awt.BorderLayout;
  2 import java.awt.EventQueue;
  3 import java.awt.Panel;
  4 import java.util.ArrayList;
  5 import java.util.List;
  6
  7 import javax.swing.JFrame;
  8 import javax.swing.JPanel;
  9 import javax.swing.JScrollPane;
 10 import javax.swing.JTable;
 11 import javax.swing.border.EmptyBorder;
 12 import javax.swing.event.TableModelEvent;
 13 import javax.swing.event.TableModelListener;
 14 import javax.swing.plaf.basic.BasicTabbedPaneUI.TabbedPaneLayout;
 15 import javax.swing.table.TableModel;
 16
 17 public class test extends JFrame {
 18
 19     private JPanel contentPane;
 20
 21     /**
 22      * Launch the application.
 23      */
 24     public static void main(String[] args) {
 25         EventQueue.invokeLater(new Runnable() {
 26             public void run() {
 27                 try {
 28                     test frame = new test();
 29                     frame.setVisible(true);
 30                 } catch (Exception e) {
 31                     e.printStackTrace();
 32                 }
 33             }
 34         });
 35     }
 36
 37     /**
 38      * Create the frame.
 39      */
 40     public test() {
 41         List<Person> list = new ArrayList<>();
 42         list.add(new Person("1", "11", "111"));
 43         list.add(new Person("2", "22", "222"));
 44         list.add(new Person("3", "33", "333"));
 45         Model model = new Model();
 46         Panel parent = new Panel();
 47         JTable table = new JTable();
 48         table.setModel(model);// 为table 分配model
 49         JScrollPane jPane = new JScrollPane(table);// 将table放进滚动条 放进滚动条后可显示列名
 50         // getContentPane()得到JFrame最底层的JPanel 默认拥有一个不可直接向JFrame添加 需向JPanel添加
 51         getContentPane().add(jPane);
 52         table.setVisible(true);
 53
 54         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 55         setBounds(100, 100, 450, 300);
 56
 57     }
 58
 59 }
 60
 61 class Model implements TableModel {
 62     List<Person> List;
 63     Object[][] p = { { "11", "Taipei" }, { "22", "ChiaYi", }, { "33", "ChiaYi", }, { "44", "ChiaYi", } }; // 表格数据
 64     String n[] = { "AA", "BB" }; // 属性名
 65
 66     @Override
 67     public Class<?> getColumnClass(int columnIndex) {
 68         return Object.class;
 69     }
 70
 71     /*
 72      * 为表格传入列数
 73      *
 74      * @see javax.swing.table.TableModel#getColumnCount()
 75      */
 76     @Override
 77     public int getColumnCount() {
 78
 79         return n.length;
 80     }
 81
 82     /*
 83      * 为表格传入属性名
 84      *
 85      * @see javax.swing.table.TableModel#getColumnName(int)
 86      */
 87     @Override
 88     public String getColumnName(int columnIndex) {
 89         return n[columnIndex];
 90     }
 91
 92     /*
 93      * 为表格传入行数
 94      *
 95      * @see javax.swing.table.TableModel#getRowCount()
 96      */
 97     @Override
 98     public int getRowCount() {
 99         return p.length;
100     }
101
102     /*
103      * 将数组中的数据传入表格
104      *
105      * @see javax.swing.table.TableModel#getValueAt(int, int)
106      */
107     @Override
108     public Object getValueAt(int rowIndex, int columnIndex) {
109
110         return p[rowIndex][columnIndex];
111     }
112
113     /*
114      * 设置表格是否可编辑
115      *
116      * @see javax.swing.table.TableModel#isCellEditable(int, int)
117      */
118     @Override
119     public boolean isCellEditable(int rowIndex, int columnIndex) {
120         return true;
121     }
122
123     /*
124      * 每当数据模型发生更改时,就将一个侦听器添加到被通知的列表中。
125      *
126      * @see
127      * javax.swing.table.TableModel#addTableModelListener(javax.swing.event.
128      * TableModelListener)
129      */
130     @Override
131     public void addTableModelListener(TableModelListener l) {
132
133     }
134
135     /*
136      * 每当数据模型发生更改时,就从被通知的列表中移除一个侦听器。
137      *
138      * @see
139      * javax.swing.table.TableModel#removeTableModelListener(javax.swing.event.
140      * TableModelListener)
141      */
142     @Override
143     public void removeTableModelListener(TableModelListener l) {
144
145     }
146
147     /*
148      * 将表格中的值设定为
149      *
150      * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
151      */
152     @Override
153     public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
154         p[rowIndex][columnIndex] = aValue;
155
156     }
157
158 }
时间: 2024-11-10 01:07:29

swing_tableModel 创建表格的相关文章

Hive创建表格报【Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException】引发的血案

在成功启动Hive之后感慨这次终于没有出现Bug了,满怀信心地打了长长的创建表格的命令,结果现实再一次给了我一棒,报了以下的错误Error, return code 1 from org.apache.Hadoop.hive.ql.exec.DDLTask. MetaException,看了一下错误之后,先是楞了一下,接着我就发出感慨,自从踏上编程这条不归路之后,就没有一天不是在找Bug的路上就是在处理Bug,给自己贴了个标签:找Bug就跟吃饭一样的男人.抒发心中的感慨之后,该干活还是的干活.

示例-创建表格-指定行列&amp;删除表格的行和列

<body> <script type="text/javascript"> /* *上面的方法和你麻烦.*既然操作的是表格,*那么最方便的方式就是使用表格节点对象的方法.* *表格是由行组成.表格节点对象中insertRow方法就完成了创建行并添加的动作.* *行是有单元格组成.通过tr节点对象的insertCell来完成.*/function crtTable(){ var oTabNode = document.createElement("ta

jQuery ajax 动态append创建表格出现不兼容ie8

很多情况下,通过js(jQuery1.10)动态来创建一些样式,对页面的动态交互来说是很方便的 但是不同的浏览器针对动态生成的不是很兼容,在此遇见的不兼容ie8,跟各位分享下 代码: json数据 data.json [{"name":"ajax","job":"manong"},{"name":"js","job":"diaosi"}] html

JavaScript之表格操作(二)创建表格病填充表格数据

//创建表格 var tableOptions = { way: "insertBefore", //insertBefore,append positionId: "domTest", //定位元素节点的ID tableId: "my-table", rows: 2, cols: 8, data: [ ['四川', '宁夏', '西藏', '北京', '上海', '台湾', '福建', '河北'], ['陕西', '天津', '山东', '江苏

创建表格的几个元素

2.创建表格的几个元素是:table,tbody,tr,th,td.2.1.整个表格以<table>开始,以</table>结束:2.2.如果表格中加入<tbody>就会等表格内容全部下载完毕之后才显示:2.3.<tr>代表表格的行,有几个就有几行:2.4.<td>代表单元格:2.5.<th>表格头部的单元格,即表格表头,其中的文本默认为粗体显示且居中:2.6.<table>中的元素在没有添加css样式之前,在网页中显示的

iOS之创建表格类视图WBDataGridView

项目中创建表格, 引用头文件 #import "WBDataGridView.h" - (void)viewDidLoad{ [superviewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColorwhiteColor]; CGFloat margin = 10.f; CGFloat width = self.view.frame.size.wi

javascript动态创建表格:新增、删除行和列

转载:http://www.cnblogs.com/pato/archive/2009/09/02/1559068.html 利用js来动态创建表格有两种格式,appendChild()和insertRow.insertCell().两种方式其实差不多,但第一种有可能在IE上有问题,所以推荐大家使用第二种了,直接说吧. 1.inserRow()和insertCell()函数 insertRow()函数可以带参数,形式如下: insertRow(index):index从0开始 这个函数将新行添加

FineUIMvc随笔 - 动态创建表格列

声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 用户需求 用户希望实现动态创建表格列,在 WebForms 中,我们通过在 Page_Init 中创建列来实现: 但是在 MVC 中,如果还想着 WebForms 的那一套,想着怎么才能在 Controller 中访问 View 中的表格控件,这是行不通的. 我曾写过一个系列文章<ASP.NET MVC快速入门(MVC5+EF6)>,开篇就讲到了 MVC 中的页面的生成流程: 这个页面之所以能够呈现在我们眼前,经历了三个主

javascript如何实现动态创建表格和增加表格的行

javascript如何实现动态创建表格和增加表格的行:在实际应用中,表格的行数不一定都是符合实际要求的,可能需要动态的增加表格的行数,下面就是一段实现此功能的代码实例,并且还实现了隔行变色功能.有需要的朋友可以自行分析一下代码,非常的简单,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>动态操作表格</title> </