博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JScrollPane,JTable
阅读量:4130 次
发布时间:2019-05-25

本文共 1807 字,大约阅读时间需要 6 分钟。

同事要一个和Access功能类似的软件,但是要满足她提出的各种要求。她知道我是做软件的,所以让我给写一个,想想她的提的需求很容易实现,所以就答应了。因为Access的功能她就用来管理表格,日常的很多表格很多,都需要进行电子档的登记。此软件肯定要实现表格操作的功能,虽然搞JAVA已经快两年了,但是基本上都是写B/S架构的。整一个JScrollPane与JTable愣是花了我一个小时,主要就卡在表格的水平滚动条无法滚动。

以下是两者的组合示例,源码中已经加入必要的注释:

1.主界面

[c-sharp] 
  1. package ibees.swing;  
  2.   
  3. import java.awt.HeadlessException;  
  4. import java.awt.Toolkit;  
  5. import javax.swing.JFrame;  
  6. import javax.swing.JScrollPane;  
  7. import javax.swing.JTable;  
  8.   
  9. /** 
  10.  *JScrollPane和JTable的使用示例 
  11.  * @author hhzxj2008 
  12.  */  
  13. public class JScrollPaneSample extends JFrame{  
  14.       
  15.     /** 
  16.      * @param args the command line arguments 
  17.      */  
  18.     public static void main(String[] args) {  
  19.         java.awt.EventQueue.invokeLater(new Runnable(){  
  20.   
  21.             public void run() {  
  22.                 new JScrollPaneSample("滚动示例").setVisible(true);  
  23.             }  
  24.         });  
  25.     }  
  26.   
  27.     public JScrollPaneSample(String title) throws HeadlessException {  
  28.         super(title);  
  29.         setDefaultCloseOperation(EXIT_ON_CLOSE);  
  30.         JTable table = new JTable(new SampleTableModel(20000,40));  
  31.         table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//关闭表格列自动调整,此时水平滚动条可见  
  32.         JScrollPane jscrollPane = new JScrollPane(table);//将Table添加到可滚动Pane当中  
  33.         add(jscrollPane);  
  34.         //设置JFrame窗体的大小为分辨率-50,并设置窗体的左上角的位置  
  35.         setBounds(25,25,(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth()-50,(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight()-50);  
  36.     }  
  37. }  

2.TableModel

[c-sharp] 
  1. package ibees.swing;  
  2.   
  3. import javax.swing.table.AbstractTableModel;  
  4.   
  5. /** 
  6.  * 表格模板,指定使用此模板的表格的行数和列数,并指定列和行交汇处的值。 
  7.  * @author hhzxj2008 
  8.  */  
  9. public class SampleTableModel extends AbstractTableModel{  
  10.     private int rowNum;  
  11.     private int columnNum;  
  12.   
  13.     public SampleTableModel(int rowNum, int columnNum) {  
  14.         this.rowNum = rowNum;  
  15.         this.columnNum = columnNum;  
  16.     }  
  17.       
  18.     public int getRowCount() {  
  19.         return rowNum;  
  20.     }  
  21.   
  22.     public int getColumnCount() {  
  23.         return columnNum;  
  24.     }  
  25.   
  26.     public Object getValueAt(int rowIndex, int columnIndex) {  
  27.         return (rowIndex+1) * (columnIndex+1);  
  28.     }  
  29.   
  30. }  

转载地址:http://eybvi.baihongyu.com/

你可能感兴趣的文章
C 语言 学习---判断文本框取得的数是否是整数
查看>>
C 语言 学习---ComboBox相关、简单计算器
查看>>
C 语言 学习---ComboBox相关、简易“假”管理系统
查看>>
C 语言 学习---回调、时间定时更新程序
查看>>
C 语言 学习---复选框及列表框的使用
查看>>
第十一章 - 直接内存
查看>>
JDBC核心技术 - 上篇
查看>>
一篇搞懂Java反射机制
查看>>
application/x-www-form-urlencoded、multipart/form-data、text/plain
查看>>
Longest Common Prefix -最长公共前缀
查看>>
Letter Combinations of a Phone Number
查看>>
Single Number II --出现一次的数(重)
查看>>
Valid Parentheses --括号匹配
查看>>
Count and Say
查看>>
Palindrome Partitioning --回文切割 深搜(重重)
查看>>
Valid Palindrome 简单的回文判断
查看>>
对话周鸿袆:从程序员创业谈起
查看>>
web.py 0.3 新手指南 - 如何用Gmail发送邮件
查看>>
web.py 0.3 新手指南 - RESTful doctesting using app.request
查看>>
LeetCode第46题思悟——全排列(permutations)
查看>>