免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2115 | 回复: 1
打印 上一主题 下一主题

一个Swing的Table如何使得它的列自己适应内容的长度呢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-15 10:18 |只看该作者 |倒序浏览
如题
谢谢指教!

论坛徽章:
0
2 [报告]
发表于 2004-10-15 11:28 |只看该作者

一个Swing的Table如何使得它的列自己适应内容的长度呢

用vector
这是一个例子
  1. import java.sql.*;
  2. import javax.swing.table.*;
  3. import javax.swing.*;
  4. import java.util.*;
  5. public class search extends JFrame {
  6. public search() {
  7. initComponents();
  8. }
  9. private void initComponents() {
  10. javax.swing.JScrollPane resultScrollPane;
  11. resultScrollPane = new javax.swing.JScrollPane();
  12. resultTable = new javax.swing.JTable();
  13. queryButton = new javax.swing.JButton();

  14. setTitle("\u4fe1\u606f\u67e5\u8be2");
  15. addWindowListener(new java.awt.event.WindowAdapter() {
  16. public void windowClosing(java.awt.event.WindowEvent evt) {
  17. exitForm(evt);
  18. }
  19. });

  20. resultTable.setModel(new javax.swing.table.DefaultTableModel(
  21. new Object [][] {

  22. },
  23. new String [] {
  24. "姓名", "年", "月", "日"
  25. }
  26. ) {
  27. Class[] types = new Class [] {
  28. java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
  29. };
  30. boolean[] canEdit = new boolean [] {
  31. false, false, false, false
  32. };

  33. public Class getColumnClass(int columnIndex) {
  34. return types [columnIndex];
  35. }

  36. public boolean isCellEditable(int rowIndex, int columnIndex) {
  37. return canEdit [columnIndex];
  38. }
  39. });
  40. resultScrollPane.setViewportView(resultTable);

  41. getContentPane().add(resultScrollPane, java.awt.BorderLayout.CENTER);

  42. queryButton.setText("\u67e5\u8be2");
  43. queryButton.addActionListener(new java.awt.event.ActionListener() {
  44. public void actionPerformed(java.awt.event.ActionEvent evt) {
  45. queryResult(evt);
  46. }
  47. });

  48. getContentPane().add(queryButton, java.awt.BorderLayout.SOUTH);

  49. pack();
  50. }

  51. private void queryResult(java.awt.event.ActionEvent evt) {
  52. Vector tem=new Vector(1,1);  
  53. DefaultTableModel tModel = (DefaultTableModel)resultTable.getModel();
  54. int rn = tModel.getRowCount();
  55. for(int j = 0; j < rn; j++) {
  56. tModel.removeRow(0);
  57. }
  58. DBManager db = new DBManager();
  59. ResultSet rs = db.getResult("select * from birthday");
  60. try {
  61. if(rs == null) return;
  62. while(rs.next()) {
  63. String[] rowData = {null,null,null,null};
  64. tem=new Vector(1,1);
  65. tem.add(rs.getString("name"));
  66. tem.add(rs.getString("year"));
  67. tem.add(rs.getString("month"));
  68. tem.add(rs.getString("day"));
  69. tModel.addRow(tem);
  70. }
  71. rs.close();  
  72. }
  73. catch(Exception re) {
  74. re.printStackTrace();
  75. }
  76. }

  77. /** Exit the Application */
  78. private void exitForm(java.awt.event.WindowEvent evt) {
  79. System.exit(0);
  80. }

  81. /**
  82. * @param args the command line arguments
  83. */
  84. public static void main(String args[]) {
  85. new search().setVisible(true);
  86. }

  87. // 变量声明 - 不进行修改
  88. private javax.swing.JButton queryButton;
  89. private javax.swing.JTable resultTable;
  90. // 变量声明结束

  91. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP