CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

JTable问题

楼主uglyFairy(uglyFairy)2005-08-03 02:17:30 在 Java / J2SE / 基础类 提问

JTable(JScrollPane)  
  1.怎么设置标题栏的高度和宽度  
  2.怎么设置奇偶行的背景色  
  3.怎么设置可以实现以下功能:不用拉动下滑条就可以显示最后一条数据  
  4.怎么设置可以实现以下功能:列不可以被拖动  
  问题点数:20、回复次数:9Top

1 楼xqk(夏乾坤)回复于 2005-08-03 10:01:32 得分 0

upTop

2 楼uglyFairy(uglyFairy)回复于 2005-08-03 22:26:25 得分 0

还有一个问题:  
  怎么设置可以实现以下功能:不用拉动下滑条就可以显示最后一条数据Top

3 楼xqk(夏乾坤)回复于 2005-08-04 08:40:28 得分 0

1.             for   (int   i=0;i<6;i++){  
                    //利用JTable中的getColumnModel()方法取得TableColumnModel对象;再利用TableColumnModel界面所定义的getColumn()方法取  
                    //TableColumn对象,利用此对象的setPreferredWidth()方法就可以控制字段的宽度.  
                  column=table.getColumnModel().getColumn(i);  
                  if   (i==1)             column.setPreferredWidth(150);  
                  if   (i==2)             column.setPreferredWidth(100);  
              }Top

4 楼eidolon_warrior(精灵_战士)回复于 2005-08-04 09:04:26 得分 0

upTop

5 楼konhon(优华)回复于 2005-08-04 09:49:06 得分 0

使用getTableHeader()得到标题栏  
   
  1.怎么设置标题栏的高度和宽度  
        JTableHeader有height,width屬性  
   
   
  4.怎么设置可以实现以下功能:列不可以被拖动  
    JTableHeader的屬性TresizingAllowedTop

6 楼chen_2001(刀锋)回复于 2005-08-04 16:47:19 得分 0

通过getTableHeader   TableColumnModel   getColumnModel来设置Top

7 楼uglyFairy(uglyFairy)回复于 2005-08-07 00:56:37 得分 0

以下这段代码是将滚动条下移到最后一条数据处,  
  现在可以做到滚动条可以自动下移,  
  现在的问题是不能下移到最后一条数据处(仅仅可以下移到倒数第二条数据处).  
         
          /*  
                  *功能:设置滚动条到最后一条数据  
          */  
          public   void   moveEnd()  
          {  
                  int   rowIndex   =   table.getRowCount();  
                  int   vColIndex   =   5;  
   
                  if   (!(table.getParent()   instanceof   JViewport))   {  
                          return;  
                  }  
   
                  JViewport   viewport   =   (JViewport)table.getParent();  
   
                  //   This   rectangle   is   relative   to   the   table   where   the   northwest   corner   of   cell   (0,0)   is   always   (0,0).  
                  Rectangle   rect   =   table.getCellRect(rowIndex,   vColIndex,   true);  
   
                  //   The   location   of   the   view   relative   to   the   table  
                  Rectangle   viewRect   =   viewport.getViewRect();  
   
                  //   Translate   the   cell   location   so   that   it   is   relative  
                  //   to   the   view,   assuming   the   northwest   corner   of   the   view   is   (0,0).  
                  rect.setLocation(rect.x   -   viewRect.x,   rect.y   -   viewRect.y);  
   
                  //   Calculate   location   of   rect   if   it   were   at   the   end   of   view  
                  rect.translate(viewRect.width   -   rect.width,   viewRect.height   -   rect.height);  
   
                  //   Scroll   the   area   into   view.  
                  viewport.scrollRectToVisible(rect);  
          }Top

8 楼uglyFairy(uglyFairy)回复于 2005-08-07 16:33:18 得分 0

package   ConsumeMonitor;  
  import   java.awt.event.MouseAdapter;import   java.awt.event.MouseEvent;import   java.awt.Point;import   java.awt.event.MouseMotionAdapter;import   java.awt.Toolkit;import   java.awt.Dimension;  
  import   javax.swing.JTable.*;import   javax.swing.JScrollPane.*;  
  import   java.awt.*;import   javax.swing.*;import   java.util.*   ;import   java.util.Vector;import   javax.swing.table.DefaultTableModel;import   java.lang.Thread.*;import   Lib.ShowSystemTime.*;  
  import   java.awt.Color.*;import   javax.swing.table.DefaultTableCellRenderer;import   javax.swing.table.TableColumn;import   javax.swing.table.*;  
  public   class     ConsumeMonitor   extends   JFrame  
  {  
          private   int   iPreEndPosX   =   653;  
          //   标题  
          private   String[]   columnNames   =   {"时间",   "信   用   卡   号",   "功     能",   "金         额",   "TID",   "返回结果"};         //  
          Vector   data   =   new   Vector();  
          private   Point       pressedPt;  
          public   ConsumeMonitor()  
          {  
                  setDefaultCloseOperation(EXIT_ON_CLOSE);                 this.setUndecorated(true);                 this.addMouseListener(new       MouseAdapter()   {  
                          public   void   mousePressed(MouseEvent   e)   {  
                                  pressedPt       =       e.getPoint();                         }  
                  });  
                  this.addMouseMotionListener(new   MouseMotionAdapter()   {  
                          public   void   mouseDragged(MouseEvent   e)   {  
                                  JFrame   frame   =   (JFrame)   e.getSource();                                 frame.setLocation(0,   0);                         }  
                  });  
                  this.setLocation(0,   0);  
                  init();         }  
   
          public   void   Show()  
          {  
                  loadTitle();  
                  initFrame();         }  
   
          public   void   init()  
          {  
                  Container   container   =   this.getContentPane();                 container.setLayout(new   GridBagLayout());  
                  GridBagConstraints   gridBagConstraints       =       new   GridBagConstraints();  
                  int   anchor   =   gridBagConstraints.CENTER;                 int   iFill   =   gridBagConstraints.BOTH;  
                  container.add(scrollPane,new   GridBagConstraints(0,0,1,1,1.0,1.0,anchor,iFill,new   Insets(0,0,0,0),-22,-138));  
                  scrollPane.getViewport().add(table);                 table.setBounds(0,0,422,0);  
                  //setSize(1020,760);                 setSize(800,360);                 show();         }  
   
          /*  
                  *功能:填充数据  
                  *显示格式:  
                  *               时间           信   用   卡   号                 功     能           金         额           TID                   返回结果  
          */  
          public   void   insertRecord(Hashtable   hashtable)  
          {  
                  Vector   rowdata   =   new   Vector(5);                 //   时间  
                  rowdata.add(hashtable.get("Time"));                 //   信   用   卡   号  
                  rowdata.add(hashtable.get("BankCard"));                 //   功     能  
                  rowdata.add(hashtable.get("BusinessType"));                 //   金         额  
                  rowdata.add(hashtable.get("Sum"));                 //   TID  
                  rowdata.add(hashtable.get("TID"));                 //   返回结果  
                  rowdata.add(hashtable.get("BusinessResult"));  
                  //将数据加入到容器,也就是加入到JTable   中  
                  data.add(rowdata);  
                  setRowBackground();  
                  moveEnd();  
                  //最后刷新JTable   控件  
                  this.table.updateUI();         }  
   
          /*  
                  *功能:设置滚动条到最后一条数据  
          */  
          public   void   moveEnd()  
          {  
                  int   rowIndex   =   table.getRowCount(); if(rowIndex   <=   14)  
  {  
  //return; }  
   
                  int   vColIndex   =   5;  
                  if   (!(table.getParent()   instanceof   JViewport))   {  
                          return;                 }  
   
                  JViewport   viewport   =   (JViewport)table.getParent();  
                  //   This   rectangle   is   relative   to   the   table   where   the   northwest   corner   of   cell   (0,0)   is   always   (0,0).  
                  Rectangle   rect   =   table.getCellRect(rowIndex,   vColIndex,   true); if(rect.y   ==   0)  
  {  
  rect.y   =   21; }  
                  //   The   location   of   the   view   relative   to   the   table  
                  Rectangle   viewRect   =   viewport.getViewRect(); if(viewRect.y   ==   16)  
  {  
  viewRect.y   =   21; }  
   
                  //   Translate   the   cell   location   so   that   it   is   relative  
                  //   to   the   view,   assuming   the   northwest   corner   of   the   view   is   (0,0).  
                  rect.setLocation(rect.x   -   viewRect.x,   rect.y   -   viewRect.y);  
                  //   Calculate   location   of   rect   if   it   were   at   the   end   of   view  
   
                  rect.translate(viewRect.width   -   rect.width,   viewRect.height   -   rect.height);  
                  //   Scroll   the   area   into   view.  
                  viewport.scrollRectToVisible(rect);         }  
   
          /*  
                  *功能:加载标题  
          */  
          public   void   loadTitle()  
          {  
                  //设置列标题  
                  Vector   cname   =   new   Vector(6);                 for(int   i   =   0;   i   <   6;   i++)  
                  {  
                          cname.add(columnNames[i]);                 }  
                  DefaultTableModel   model=new   DefaultTableModel(data,cname);                 table.setModel(model);  
                  //   设置标题栏的宽度  
                setColumnWidth();  
                  //最后刷新JTable   控件  
                  table.updateUI();         }  
   
          /*  
                  *功能:实时显示交易状态  
          */  
          public   void   initFrame()  
          {  
                  int   iLine   =   0;                 try  
                  {  
                          Hashtable   dataRecord   =   new   Hashtable();                         loadTitle();  
                          for(int   i   =   0;   i   <   18;   i++)  
                          {  
                                  dataRecord   =   initHashtable();                                 insertRecord(dataRecord);                                 Thread.sleep(1000);                         }  
                  }   catch   (InterruptedException   e){  
                          System.out.println(e.getMessage());                 }  
          }  
   
          /*  
                  *功能:测试时,加载数据  
          */  
          private   Hashtable   initHashtable()  
          {  
                  Hashtable   hashtable   =   new   Hashtable();  
                  //   读取系统时间  
                  ShowSystemTime   systemTime   =   new   ShowSystemTime();                 String   sSystemTime   =   systemTime.showTime();  
                  //   时间  
                  hashtable.put("Time",   sSystemTime);                 //   信   用   卡   号  
                  hashtable.put("BankCard",   "1234567890-1234567890-12");                 //   功     能  
                  hashtable.put("BusinessType",   "消费");                 //   金         额  
                  hashtable.put("Sum",   "123456789.12");                 //   TID  
                  hashtable.put("TID",   "TID");                 //   返回结果  
                  hashtable.put("BusinessResult",   "成功");  
                  return   hashtable;         }  
   
          public   static   void   main(String[]   args)  
          {  
                  ConsumeMonitor   app   =   new   ConsumeMonitor();                 app.Show();         }  
   
          javax.swing.JScrollPane   scrollPane   =   new   javax.swing.JScrollPane();         javax.swing.JTable   table   =   new   javax.swing.JTable(){  
                  public   boolean   isCellEditable(int   rowIndex,   int   vColIndex)   {  
                          return   false;                 }  
          };}Top

9 楼bug008()回复于 2006-05-24 15:39:05 得分 20

是刷新的问题Top

相关问题

  • JTable?
  • JTABLE
  • jtable
  • java 基础:JTable
  • JTable的问题
  • JTable 问 题
  • 关于JTable,急!
  • about Date format in JTable
  • JTable的问题!
  • JTable的问题

关键词

  • 数据
  • jtable
  • 设置
  • 问题
  • 实现以下功能
  • 拉动下滑条
  • 显示最后一条数据

得分解答快速导航

  • 帖主:uglyFairy
  • bug008

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo