仓酷云
标题:
发布一篇java winform开辟:JTable详解
[打印本页]
作者:
逍遥一派
时间:
2015-1-18 11:00
标题:
发布一篇java winform开辟:JTable详解
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点
列表在任何一门开辟言语中都占据十分主要的位置,在.Net中有GridView,在extjs中有GridPanel。。。,而在javaSwing中,它的名字叫JTable。这两天在研讨JTable的利用,也有一些劳绩,以是在这里跟人人分享交换一下,上面的内容将包含:1)JTable的基础用法;2)如何为JTable增加行点击呼应事务,双击后翻开窗口;3)如何为JTable的行增加标识,如行id等;4)如何在JTable中静态增加新行;
1)JTable的基础用法:
我用的IDE是NetBeans,因为也是复杂做几个页面的客户端,次要仍是Web开辟的,以是临时不盘算穷究javawinform开辟,以是界面怎样快就怎样做了,我间接在窗体的“计划”形式下间接拖“表格”出来就了事,在默许的情形下,这个表格还会有几行几列的添补内容的,假如必要编纂,能够先点击表格进进它的编纂形态,然后右击,选择“表内容”就能够举行表格的行和列的编纂了,不外一般情形下,表格的内容都是静态天生的,以是在控件上间接编纂它的内容的意义是不年夜的,固然,做DEMO时对照有效。
如何为JTable初始化内容呢?我的习气是在frame的机关办法来完成,实在经由过程查API能够得知,JTable撑持多种机关办法,而我以为静态天生数据来讲,用Vector对象的情势来天生列头设置及数据设置是对照复杂直不雅的办法,上面来看个例子:
String[]columnModel={"工夫","编号","金额","操纵员"};
VectorcmVector=newVector();
for(inti=0,cmCount=columnModel.length;i<cmCount;i++){
cmVector.addElement(columnModel[i]);
}
//绘制数据模子
VectordataVector=newVector();
TempOrdersListtempOrderList=TempOrdersManager.getInstance().getList();
intbillCount=tempOrderList.size();
if(billCount>0){
for(intj=0;j<billCount;j++){
TempOrdersorderItem=(TempOrders)tempOrderList.get(j);
Stringid=orderItem.getId();
Stringtime=orderItem.getTime();
Stringno=orderItem.getNo();
floattotal=orderItem.getTotal();
Stringuser=orderItem.getUser();
CustomTableCellidCell=newCustomTableCell(id,no,orderItem);
VectorrowVector=newVector();
rowVector.addElement(time);
rowVector.addElement(idCell);
rowVector.addElement(total);
rowVector.addElement(user);
dataVector.addElement(rowVector);
rowVector=null;
idCell=null;
orderItem=null;
}
}
DefaultTableModeltableModel=newDefaultTableModel(dataVector,cmVector){
@Override
publicbooleanisCellEditable(introw,intcolumn){
//只同意用户对第四列的数据举行编纂(第四列是数目)
if(column==4){
returntrue;
}else{
returnfalse;
}
}
};
BillTable.setModel(tableModel);
cmVector=null;
dataVector=null;
复制代码
利用Vector对象作为机关办法的对象时,要传进两个Vector的实例,第一个是保留数据的Vector,第二个参数是保留列头信息的Vector,在
示例中的dataVector是经由过程遍历一个list对象而静态添补内容的,在实例化并初始化好Vector后,只需挪用JTable的setModel办法,就能够将列头及数据的信息显现在表格中啦。
2)如何增加行点击事务
起首,在JTable的计划视图中先选中JTable,然后右击,在事务的弹出菜单中顺次选中"mouse-click”就能够捕获表格的点击事务了,在这个事务监听办法中,会传进一个java.awt.event.MouseEvent类的实例evt,用evt.getClickCount(),就能够晓得触发该事务时用户的点击次数,只需这个办法前往的值年夜于即是2,就申明用户双击了,上面的示例代码,供人人参考:
if(evt.getClickCount()>=2){
introwIndex=productTable.rowAtPoint(evt.getPoint());
intcolumnIndex=Common.getIndetityColumn(productTable);
//假如没有找到带有标志的列,就不向下实行了
if(columnIndex==-1){
return;
}
CustomTableCellidentifyCell=(CustomTableCell)productTable.getValueAt(rowIndex,columnIndex);
StringproductId=identifyCell.getId();
ProductDetailproductDetail=newProductDetail(productId);
Common.centerWindow(productDetail);
//productDetail.setVisible(true);
}
复制代码
<p>
ruby里有这些工具吗?又要简单多少?我没有用过这两门语言,我估计在这些语言力没有很统一的这种标准,或者根本就没有提供。
作者:
精灵巫婆
时间:
2015-1-20 12:32
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者:
admin
时间:
2015-1-25 23:23
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者:
愤怒的大鸟
时间:
2015-1-26 13:41
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者:
活着的死人
时间:
2015-2-4 14:45
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者:
逍遥一派
时间:
2015-2-10 01:47
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者:
飘灵儿
时间:
2015-2-28 12:15
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者:
灵魂腐蚀
时间:
2015-3-9 23:12
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者:
深爱那片海
时间:
2015-3-17 03:03
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者:
飘飘悠悠
时间:
2015-3-23 17:09
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2