- 浏览: 77870 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (87)
- Lucene (8)
- struts (0)
- spring (0)
- Ajax (1)
- asp (1)
- c/c++ (0)
- java (16)
- javascript (2)
- vb (3)
- 数据库 (6)
- 生活 (0)
- 计算机其它 (4)
- [网站分类]1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (0)
- [网站分类]2.Java新手区 (1)
- [网站分类]3.非技术区 (0)
- [网站分类]4.其他技术区 (0)
- [网站分类]5.提问区(Java方面的技术提问) (0)
- [网站分类]6.转载区(Java技术文章转载, 请注明原文出处) (2)
- [网站分类]8.求职招聘区 (0)
- [发布为文章] (0)
- [发布为日记] (0)
- [发布为新闻] (0)
- ibatis (0)
最新评论
-
vern:
受益了,谢谢
not in 失效 -
todayapple:
你的折线图能出来吗。。。
jfreechart例子 -
reachingstar:
Good, 但还是没能弄太明白!
JBoss启动过程 -
liheqian_0083:
HOHO,收监
lucene中文分词
Swing颇受欢迎的JTable类为显示大块数据提供了一种简单的机制。JTable有很多东西是用于数据的生成和编辑,其中的很多东西还可以自定义,从而更进一步增强其功能。本文会引导你一步步地进入JTable的世界。
Listing A包含了一个简单示例的代码,这个示例会说明常用JTable的行为。用户能够更改JTable的布局、拖放它的栏,或者通过拖动标题的分隔线来改变其大小。
这些列被保存在一个String数组里:
2 {
3 { " Apples " , new Integer( 5 ), " 5.00 " } ,
4 { " Oranges " , new Integer( 3 ), " 6.00 " } ,
5 { " Pears " , new Integer( 2 ), " 4.00 " } ,
6 { " Grapes " , new Integer( 3 ), " 2.00 " } ,
7 } ;
JTable是使用data和columnNames构成的:
JTable table = new JTable(data, columnNames);
查看JTable
JTable的高度和宽度按照下面的方法来设定:
table.setPreferredScrollableViewportSize(new Dimension(300, 80));
如果JTable的一个列或者JTable窗口自身的大小被重新确定,那么其他列会被相应的缩小或者放大,以适应新的窗口。使用setAutoResizeMode()方法就能够控制这种行为:
2 AUTO_RESIZE_NEXT_COLUMN
3 AUTO_RESIZE_SUBSEQUENT_COLUMNS
4 AUTO_RESIZE_LAST_COLUMN
5 AUTO_RESIZE_ALL_COLUMNS
表格的缺省值
单元格内方格坐标线的缺省颜色是Color.gray。要更改这些方格坐标线的颜色,就要用到:
各个单元格的高度将等于行的高度减去行间的距离。
在缺省情况下,内容的前景颜色和背景颜色的选择都是由Swing的所见即所得的实现来确定的。你可以使用下面的方法来更改选择的颜色:
2 table.setShowVerticalLines(false);
列的宽度
JTable组件有几个控制表格特性的类和接口。TableColumn会不断追踪列的宽度,并负责列大小的调整,包括最大和最小宽度。
TableColumnModel管理着TableColumns的集合以及列的选择。要设置某个列的宽度,就要为表格列的模型设置一个参照。然后,取得想要的TableColumn并调用其setPreferredWidth()方法:
2 column.setPreferredWidth(100);
标题
JtableHeader会处理JTable标题的显示。你可以细分JtableHeader以获得自定义的布局。例如,如果你的应用程序需要一个跨越多个列的标题,那么只用简单地细分JtableHeader并将它集成到你的JTable里就行了。
你可以通过为当前JTable的JtableHeader设置一个参照或者调用其setReorderingAllowed()方法,来指定标题的重新排序是否被允许:
选择模式
在缺省状况下,当用户在JTable里选择一个单元格的时候,整个行都被选中了。有多种方法能够让用户自定义选择的方式。利用ListSelectionModel接口,你可以允许用户选择单个或者多个行:
ListSelectionModel有下面这些字段:
* SINGLE_SELECTION允许一次选择一行。
* SINGLE_INTERVAL_SELECTION允许选择相邻的一系列行。
* MULTIPLE_INTERVAL_SELECTION也允许选择相邻的列,但是带有扩展功能。它允许用户使用[Ctrl]键进行多个互不相邻的选择(即选择不相邻的行)。
setCellSelectionEnabled()方法让用户能够同时选择单个单元格或者整个行:
编辑单元格
我们这个简单的表格允许用户编辑表格里的任何单元格。Listing B列出了一个表格,它允许由程序员来决定哪些单元格能够被编辑。第一步是创建一个自定义的TableModel:
2 JTable table = new JTable(myModel);
2 if (col == 0) {return false ;}
3 else {return true ; }
4 }
简单的表格验证
你需要确保用户只输入整数值,假如说,向第二列(“盒子的数量”这一列)输入值来强制替代setValueAt()方法,并将验证逻辑包括进这个新方法里。首先,你要检查列是否是整数,以及这个列是否只应该包含整数值:
2 {… } else { data[row][col] = value;}
2 data[row][col] = new Integer(value.toString());
3 } catch (NumberFormatException e) {
4 JOptionPane.showMessageDialog(SimpleTable.this ,
5 "Please enter only integer values." );
6 }
背景颜色
Listing C包含了用于ColorTable.java的代码,它说明了如何向JTable加入颜色。你可以通过强制替代其prepareRenderer()方法来向JTable加入背景颜色:
2 public Component prepareRenderer(TableCellRenderer r, int row, intcol){}
3 };
2 Color bg = new Color(200, 100, 30 );
3 c.setBackground(bg);
4 c.setForeground(Color.white);
5 }
一切皆在掌握中
我们的例子只是JTable其他部分的基础。通过使用这些工具,你能够快速和轻易地掌控对Java应用程序所生成的表格的格式化,这样就能够让你的用户在进行正常使用的时候不碰到障碍。
摘自:http://www.7dspace.com/doc/21/0601/20061905111047137.htm
发表评论
-
我的项目的结构和配置文件
2006-06-27 17:33 677学习java有段时间了,最近自己根据网上的资料 ... -
JAVA-学习-网络资源
2006-07-05 00:00 703SUN中国技术社区 ... -
使用FileUpload组件实现文件上传(转载)
2006-07-06 00:15 805文件上传在web应用中非常普遍 ... -
java读取中文文件
2006-07-06 00:20 1164java中读取中文文件经常出现乱码,是因为ja ... -
通过文本文档实现信息的批量导入(转)
2006-07-18 11:01 515... -
tomcat5.0中文问题
2006-08-10 15:26 5861 tomcat的j2ee实现 ... -
JDBC(转)
2006-08-24 13:36 911... -
page
2006-09-18 23:35 690<% ... -
jboss4.0的虚拟主机(摘)
2007-02-26 17:09 740什么也不需要改,只需 ... -
面试题集及解答(转)
2007-02-27 09:53 581出处:www.csdn.net[ 2004-09- ... -
apache tomcat 整合(转)
2007-02-28 09:44 1246Apache的HTTPD是目前 ... -
apache tomcat 整合
2007-03-01 10:04 898这一篇是我自己根据网上的资料又重新整的。准 ... -
EasyMock的简单使用(摘)
2007-03-02 09:13 1136xp开发的一个利器--EasyMock。EasyM ... -
jboss 的一些配置(端口,虚拟目录,虚拟主机,中文问题,数据库连接)(转)
2007-03-02 18:17 6661。访问端口配置 ... -
JBOSS 4.0 配置虚拟目录(转)
2007-03-05 10:40 1204我的环境: WINXP SP2 + JDK1.5 ...
相关推荐
Java Swing JTable分页!JAVA源码!
Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性Swing JTable 常用属性
JTable实现下拉动态加载数据,滑动动态加载数据,纯原生态java。
java swing 导出Jtable里面的数据到excel,不用拷贝代码,直接粘贴代码
swing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing Jtable使用checkboxswing ...
Swing之JTable的详细介绍,讲述jtable的操作和excle表之间的转换
用Java Swing Jtable做的日历
Swing JTable组件设置单元格合并,内置Test测试类,核心API GridBagTable tasktable = new GridBagTable(model); tasktable.mergeCells(startRow, endRow, 0, 0);
文件主要内容是Java Swing中JTable的常用功能的应用
Swing之JTable用法
Swing之JTable详解 类层次结构图: java.lang.Object --java.awt.Component --java.awt.Container --javax.swing.JComponent --javax.swing.JTabel
java swing表格分页控件封装,有利于在开发中节约时间
主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
中级SWING-J中级中级SWING-JTable属性SWING-JTable属性Table属性
swing 中JTABLE中添加控件的例子 可以引申出添加很多控件
封装JTable同时锁定多行多列效果,通过多层布局实现,不需要多个数据集,使用简单,不用对现有代码做改动。
基於Swing JTable的DataGrid 含有按鈕 進度條
在java swing的开发中,需要往表格添加自定义对象,往往需要转换。此类定义了抽象类,运用了范型技术。只需继承时传入对象类型,既可以操作对象表格Model。 作者(HuaSheng) 如有不足,欢迎给我email:sheng24@vip....
无需修改已有代码,快速为jtable添加行间拖拽功能。 无需实现dnd相关接口,使用方便