逍遥一派 发表于 2015-1-18 11:00:22

发布一篇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);
}
//绘制数据模子
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:41

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

admin 发表于 2015-1-25 23:23:54

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

愤怒的大鸟 发表于 2015-1-26 13:41:47

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

活着的死人 发表于 2015-2-4 14:45:04

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

逍遥一派 发表于 2015-2-10 01:47:32

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

飘灵儿 发表于 2015-2-28 12:15:05

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。

灵魂腐蚀 发表于 2015-3-9 23:12:29

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

深爱那片海 发表于 2015-3-17 03:03:29

你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?

飘飘悠悠 发表于 2015-3-23 17:09:50

还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
页: [1]
查看完整版本: 发布一篇java winform开辟:JTable详解