仓酷云

标题: 发布一篇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对象的情势来天生列头设置及数据设置是对照复杂直不雅的办法,上面来看个例子:
  1. String[]columnModel={"工夫","编号","金额","操纵员"};
  2. VectorcmVector=newVector();
  3. for(inti=0,cmCount=columnModel.length;i<cmCount;i++){
  4. cmVector.addElement(columnModel[i]);
  5. }
  6. //绘制数据模子
  7. VectordataVector=newVector();
  8. TempOrdersListtempOrderList=TempOrdersManager.getInstance().getList();
  9. intbillCount=tempOrderList.size();
  10. if(billCount>0){
  11. for(intj=0;j<billCount;j++){
  12. TempOrdersorderItem=(TempOrders)tempOrderList.get(j);
  13. Stringid=orderItem.getId();
  14. Stringtime=orderItem.getTime();
  15. Stringno=orderItem.getNo();
  16. floattotal=orderItem.getTotal();
  17. Stringuser=orderItem.getUser();
  18. CustomTableCellidCell=newCustomTableCell(id,no,orderItem);
  19. VectorrowVector=newVector();
  20. rowVector.addElement(time);
  21. rowVector.addElement(idCell);
  22. rowVector.addElement(total);
  23. rowVector.addElement(user);
  24. dataVector.addElement(rowVector);
  25. rowVector=null;
  26. idCell=null;
  27. orderItem=null;
  28. }
  29. }
  30. DefaultTableModeltableModel=newDefaultTableModel(dataVector,cmVector){
  31. @Override
  32. publicbooleanisCellEditable(introw,intcolumn){
  33. //只同意用户对第四列的数据举行编纂(第四列是数目)
  34. if(column==4){
  35. returntrue;
  36. }else{
  37. returnfalse;
  38. }
  39. }
  40. };
  41. BillTable.setModel(tableModel);
  42. cmVector=null;
  43. dataVector=null;
复制代码
利用Vector对象作为机关办法的对象时,要传进两个Vector的实例,第一个是保留数据的Vector,第二个参数是保留列头信息的Vector,在
示例中的dataVector是经由过程遍历一个list对象而静态添补内容的,在实例化并初始化好Vector后,只需挪用JTable的setModel办法,就能够将列头及数据的信息显现在表格中啦。
2)如何增加行点击事务
起首,在JTable的计划视图中先选中JTable,然后右击,在事务的弹出菜单中顺次选中"mouse-click”就能够捕获表格的点击事务了,在这个事务监听办法中,会传进一个java.awt.event.MouseEvent类的实例evt,用evt.getClickCount(),就能够晓得触发该事务时用户的点击次数,只需这个办法前往的值年夜于即是2,就申明用户双击了,上面的示例代码,供人人参考:
  1. if(evt.getClickCount()>=2){
  2. introwIndex=productTable.rowAtPoint(evt.getPoint());
  3. intcolumnIndex=Common.getIndetityColumn(productTable);
  4. //假如没有找到带有标志的列,就不向下实行了
  5. if(columnIndex==-1){
  6. return;
  7. }
  8. CustomTableCellidentifyCell=(CustomTableCell)productTable.getValueAt(rowIndex,columnIndex);
  9. StringproductId=identifyCell.getId();
  10. ProductDetailproductDetail=newProductDetail(productId);
  11. Common.centerWindow(productDetail);
  12. //productDetail.setVisible(true);
  13. }
复制代码
<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