代码学堂(uxuew.cn)提供付费解决PHP WEB开发等技术服务,如果需要请 点击加我QQ:1662935793.
>编程开发 > jsp教程 > 用Swing制作数据表格实例代码

用Swing制作数据表格实例代码

jsp教程 围观1282次 更新日期:2017-07-04 14:14:26 留下足迹

最近有个项目是delphi来做的,之中有很多地方要用到数据表格。这种功能在delphi和vb中能很方便的做出来,java没有提供这项功能,但是可以用Jtable 来实现,不过就是麻烦了点:)。

下面是我用applet实现的一个简单数据表格程序代码。

  1. package com.applet.cat10; 
  2.  
  3. import java.awt.*; 
  4. import java.awt.event.*; 
  5. import java.applet.*; 
  6. import javax.swing.*; 
  7. import com.util.*; 
  8. import java.util.*; 
  9. import javax.swing.table.*; 
  10. import java.sql.*; 
  11.  
  12. /** 
  13. * Title: Cat工程 
  14. * Description: BCat 
  15. * Copyright: Copyright (c) 2001 
  16. * Company: smartcomm 
  17. * @author daniel 
  18. * @version 1.0 
  19. */ 
  20. public class TestDatabase extends JApplet { 
  21. boolean isStandalone = false
  22. JButton jButton1 = new JButton(); //触发时间查询按扭 
  23. Database db=new Database(); 
  24. JTable table1 = new JTable(); 
  25. JScrollPane scroll = new JScrollPane(); 
  26. JTextField text1 = new JTextField(); 
  27.  
  28. DefaultTableModel dtm; //定义表格的数据模型 
  29. Vector vCdata=null//定义表的列名(以vector存储) 
  30. ResultSet rsRow=null//查询表的数据集合 
  31.  
  32. /**Construct the applet*/ 
  33. public TestDatabase() { 
  34. /**Initialize the applet*/ 
  35. public void init() { 
  36. try { 
  37. jbInit(); 
  38. userInit(); //自定义的操作都在次方法中 
  39. catch(Exception e) { 
  40. e.printStackTrace(); 
  41. /**Component initialization*/ 
  42. private void jbInit() throws Exception { 
  43. jButton1.setText("jButton1"); 
  44. jButton1.setBounds(new Rectangle(262257929)); 
  45. jButton1.addActionListener(new java.awt.event.ActionListener() { 
  46. public void actionPerformed(ActionEvent e) { 
  47. jButton1_actionPerformed(e); 
  48. }); 
  49. this.setSize(new Dimension(664300)); 
  50. this.getContentPane().setLayout(null); 
  51. scroll.setBounds(new Rectangle(1224644189)); 
  52. text1.setBounds(new Rectangle(1627136522)); 
  53. this.getContentPane().add(scroll, null); 
  54. this.getContentPane().add(jButton1, null); 
  55. // this.getContentPane().add(text1, null); 
  56. scroll.getViewport().add(table1, null); 
  57.  
  58. /*userInit() 数据表格的初始化*/ 
  59. public void userInit() 
  60. db.connect(); //数据库连接 
  61. vCdata=db.getFieldNames("T_REGISTRATION"); //得出列名(vector存储) 
  62. dtm=new DefaultTableModel(); //定义模式 
  63. table1.setModel(dtm); //设定表模式 
  64.  
  65. /**for 列出标题烂**/ 
  66. for(int i=0;idtm.addColumn((String)vCdata.elementAt(i)); 
  67.  
  68. rsRow=db.executeQueryTable("T_REGISTRATION"); //得出数据集合   
  69.  
  70. /**Start the applet*/ 
  71. public void start() {
  72. /**Stop the applet*/ 
  73. public void stop() {
  74. /**Destroy the applet*/ 
  75. public void destroy() {//static initializer for setting look & feel 
  76. static { 
  77. try { 
  78. //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
  79. //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 
  80. catch(Exception e) {
  81.  
  82. //触发查询事件 
  83. void jButton1_actionPerformed(ActionEvent e) 
  84.  
  85. try 
  86.  
  87. while(rsRow.next()) 
  88. Vector vRdata=new Vector(); 
  89. for(int i=0;i{ 
  90. vRdata.addElement(rsRow.getString((String)vCdata.elementAt(i))); //列举列数据(vector存储)   
  91. dtm.addRow(vRdata); //向表中添家数据 
  92. }
  93. db.close(); 
  94. }catch(Exception ei) 
  95. System.out.println("error at jButton1_actionPerformed! in TestDatabase" + ei.toString()); 


这个程序简单的实现了数据表格功能,初始化状态是数据表格只有标题,当click 按扭显示数据。

1。在userInit()方法中做了数据表格的初始化,关键的方法:
建立表格模型: DefaultTableModel dtm=new DefaultTableModel(),
设定表模型:table1.setModel(dtm)
设定表格标题:(一切操作可以在模型上做) dtm.addColumn(Vector arg),arg是表的标题,也就是field名字数组
得出数据的结果集合:rsRow=db.executeQueryTable("T_REGISTRATION"),这就是一般的数据查询结果哦

2。在 void jButton1_actionPerformed(ActionEvent e)中显示数据,关键方法:
以行的方式加入数据:dtm.addRow(Vector arg)。

3。Jtable有很多的实例化方式,这里采用的是DefaultTableModel模型,对表的操作都可以建立在模型上。

转载请注明:代码学堂>编程开发 > jsp教程 > 用Swing制作数据表格实例代码

喜欢 (520) or 分享 (189)
随机文章