JAVA中JTable组件详解实例_第1页
JAVA中JTable组件详解实例_第2页
JAVA中JTable组件详解实例_第3页
JAVA中JTable组件详解实例_第4页
JAVA中JTable组件详解实例_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java表格控件JTable常用操作详解 JTable是Swing编程中很常用的控件,这里总结了一些常用方法以备查阅.欢迎补充,转载请注明作者与出处.            一.创建表格控件的各种方式:            1) 调用无参构造函数.           

2、; JTable table = new JTable();            2) 以表头和表数据创建表格.            Object cellData = "row1-col1", "row1-col2","row2-col1",       

3、;      "row2-col2"            String columnNames = "col1", "col2"                     

4、0;      JTable table = new JTable(cellData, columnNames);            3) 以表头和表数据创建表格,并且让表单元格不可改.            String headers = "表头一", "表头二", "表

5、头三" ;            Object cellData = null;            DefaultTableModel model = new DefaultTableModel(cellData, headers)            

6、   public boolean isCellEditable(int row, int column)                 return false;                       

7、;   ;            table = new JTable(model);            二.对表格列的控制            1) 设置列不可随容器组件大小变化自动调整宽度.    &

8、#160;       table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);            2) 限制某列的宽度.            TableColumn firsetColumn = table.getColumnModel().getColumn(0);&#

9、160;           firsetColumn.setPreferredWidth(30);            firsetColumn.setMaxWidth(30);            firsetColumn.setMinWidth(30); &#

10、160;          3) 设置当前列数.            DefaultTableModel tableModel = (DefaultTableModel) table.getModel();            int count=5;   

11、;         tableModel.setColumnCount(count);            4) 取得表格列数            int cols = table.getColumnCount();      

12、0;     5) 添加列            DefaultTableModel tableModel = (DefaultTableModel) table.getModel();            tableModel.addColumn("新列名");    

13、60;       6) 删除列            table.removeColumn(table.getColumnModel().getColumn(columnIndex);/             columnIndex是要删除的列序号     

14、0;      三.对表格行的控制            1) 设置行高            table.setRowHeight(20);            2) 设置当前航数   

15、         DefaultTableModel tableModel = (DefaultTableModel) table.getModel();            int n=5;            tableModel.setRowCount(n);  

16、60;         3) 取得表格行数            int rows = table.getRowCount();            4) 添加表格行           

17、 DefaultTableModel tableModel = (DefaultTableModel) table.getModel();            tableModel.addRow(new Object"sitinspring", "35", "Boss");            5) 删除表格行&#

18、160;           DefaultTableModel tableModel = (DefaultTableModel) table.getModel();            model.removeRow(rowIndex);/ rowIndex是要删除的行序号         &#

19、160;  四.存取表格单元格的数据            1) 取单元格数据            DefaultTableModel tableModel = (DefaultTableModel) table.getModel();           

20、 String cellValue=(String) tableModel.getValueAt(row, column);/             取单元格数据,row是行号,column是列号            2) 填充数据到表格.            注

21、:数据是Member类型的链表,Member类如下:            public class Member                / 名称                pr

22、ivate String name;                                / 年龄                priva

23、te String age;                                / 职务                private S

24、tring title;                        填充数据的代码:            public void fillTable(List<Member> members)     

25、         DefaultTableModel tableModel = (DefaultTableModel) table              .getModel();              tableModel.setRowCount(0)

26、;/ 清除原有行                            / 填充数据              for(Member member:members)    

27、;            String arr=new String3;                arr0=member.getName();                arr1=

28、member.getAge();                arr2=member.getTitle();                             &

29、#160;  / 添加数据到表格                tableModel.addRow(arr);                             &

30、#160;            / 更新表格              table.invalidate();                     

31、60;  2) 取得表格中的数据            public List<Member> getShowMembers()              List<Member> members=new ArrayList<Member>();     

32、0;                      DefaultTableModel tableModel = (DefaultTableModel) table              .getModel();     

33、;                       int rowCount=tableModel.getRowCount();                       

34、     for(int i=0;i<rowCount;i+)                Member member=new Member();                      &

35、#160;         member.setName(String)tableModel.getValueAt(i, 0);/             取得第i行第一列的数据                member.setAge(String)tabl

36、eModel.getValueAt(i, 1);/ 取得第i行第二列的数据                member.setTitle(String)tableModel.getValueAt(i, 2);/             取得第i行第三列的数据       

37、;                         members.add(member);                        

38、                  return members;                        五.取得用户所选的行       &

39、#160;    1) 取得用户所选的单行            int selectRows=table.getSelectedRows().length;/ 取得用户所选行的行数            DefaultTableModel tableModel = (DefaultTableModel) table.getModel();

40、0;           if(selectRows=1)              int selectedRowIndex = table.getSelectedRow(); / 取得用户所选单行                

41、;             ./ 进行相关处理                        2) 取得用户所选的多行            int

42、selectRows=table.getSelectedRows().length;/ 取得用户所选行的行数            DefaultTableModel tableModel = (DefaultTableModel) table.getModel();            if(selectRows>1)    &

43、#160;         int selRowIndexs=table.getSelectedRows();/ 用户所选行的序列                            for(int i=0;i<selRowIndexs.length;

44、i+)                / 用tableModel.getValueAt(row, column)取单元格数据                String cellValue=(String) tableModel.getValueAt(i, 1);   

45、                                   六.添加表格的事件处理            view.getTable().addMouseLis

46、tener(new MouseListener()               public void mousePressed(MouseEvent e)                 / 鼠标按下时的处理         &

47、#160;                  public void mouseReleased(MouseEvent e)                 / 鼠标松开时的处理         &#

48、160;                  public void mouseEntered(MouseEvent e)                 / 鼠标进入表格时的处理         &#

49、160;                  public void mouseExited(MouseEvent e)                 / 鼠标退出表格时的处理         

50、60;                  public void mouseClicked(MouseEvent e)                 / 鼠标点击时的处理          

51、;                );下面是详细代码:(连接的是sql server 2000数据库)import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;class DataFrame extends JFrame implements ActionListenerConnection con;Statement stmt;ResultSet rs;Object a;JButton bt_save;int i=0;Object header="学号","姓名","性别","年龄","邮箱"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论