说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

180分 请教

编辑:说三道四文库 发布时间:2017-12-16 05:28
HTML文档下载 WORD文档下载 PDF文档下载

请教 JTable 的困难问题:
    
    设置jTable的CellEditor为JTextField。 clickCountToStart
设置为0或1。用鼠标单击选中即出现可以编辑的光标,编辑完毕,
按Tab键或箭头键移到下一个Cell,却不出现可以编辑的光标(此
时也能编辑)。

请问高手们如何处理 才能 出现 光标!
非常感谢!

http://www.csdn.net/expert/topic/128/128006.shtm 有50分
我想知道呀,高手快来呀!
关于这个问题我已查了好多资料了,但还是没有找到解决方法,
主要可能是由于JTable的开始编辑是由mouseclick来触发,所以可能键盘无法响应,
我想可能 的解决方法就是检测用户按下tab键后就模拟触发一次mouseclick事件,
看行不行了。
我想可能 的解决方法就是检测用户按下tab键后就模拟触发一次mouseclick事件
同意
!!
这么高深的问题看来不适合菜鸟级的我
to:skyyoung(路人甲) 
你觉得触发mouseclick事件可行吗?
怎么来触发呢,这可没有触发键方便哦!
触发mouseclick事件也许可以,但怎样定位位置?
请继续讨论?
老外可有讨论?
明天早上给你答复,我先回去了,呵呵
5
虽然我不会,帮你up一下
去sun的论坛上看看呗
java.awt.Robot

This class is used to generate native system input events for the purposes of test automation, self-running demos, and other applications where control of the mouse and keyboard is needed. 

Check the JDK document to find out how to do .Good luck!
import java.awt.*;
import javax.swing.*;

import javax.swing.event.*;
import java.awt.event.*;
import java.util.*;

public class TableTest extends JFrame
{
  JTable jTable1 = new JTable(3,4);

  public TableTest()
  {
    try 
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }

  public static void main(String[] args)
  {
    TableTest tableTest1 = new TableTest();
    tableTest1.show();
  }

  protected void processWindowEvent(WindowEvent e){
    if(e.getID()==e.WINDOW_CLOSING){
     System.exit(0);
    }
    super.processWindowEvent(e);
  }


  private void jbInit() throws Exception
  {
    this.setSize(300,400);
    this.getContentPane().add(jTable1, BorderLayout.CENTER);
   
    ListSelectionListener listener =  new MySelectionListner();
    jTable1.getSelectionModel().addListSelectionListener(listener);
    jTable1.getColumnModel().getSelectionModel().addListSelectionListener(listener);
  }

  class MySelectionListner implements ListSelectionListener{
    public void valueChanged(ListSelectionEvent e){
       if(e.getValueIsAdjusting())
        return ;
       if(e.getLastIndex()==e.getFirstIndex())
        return;
       int row = jTable1.getSelectedRow();
       int col = jTable1.getSelectedColumn();
       System.out.println("selected row is :"+row+" selected column " + col);
       if(row>=0&&col>=0)
        {
        jTable1.editCellAt(row,col);
        System.out.println("aaaaaa");
        }
    }
  }

 
}

抱歉,来完了,给我分:)
兄弟先try一下,定会给分,
请漂流兄先到下面的帖子随便回复一下,我好给分。
谢谢!!!

http://www.csdn.net/expert/topic/128/128006.shtm 
漂流兄,为何还是没有光标??(可以编辑)

漂流兄能否再指点一下
那样已经在编辑状态,还需要光标干什么?:)
我给你测测去
import java.awt.*;
import javax.swing.*;

import javax.swing.event.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.table.*;


public class TableTest extends JFrame
{
  JTable jTable1 = new JTable(3,4);

  public TableTest()
  {
    try 
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }

  public static void main(String[] args)
  {
    TableTest tableTest1 = new TableTest();
    tableTest1.show();
  }

  protected void processWindowEvent(WindowEvent e){
    if(e.getID()==e.WINDOW_CLOSING){
     System.exit(0);
    }
    super.processWindowEvent(e);
  }


  private void jbInit() throws Exception
  {
    this.setSize(300,400);
    this.getContentPane().add(jTable1, BorderLayout.CENTER);
   
    ListSelectionListener listener =  new MySelectionListner();
    jTable1.getSelectionModel().addListSelectionListener(listener);
    jTable1.getColumnModel().getSelectionModel().addListSelectionListener(listener);
  }

  class MySelectionListner implements ListSelectionListener{
    int lastRow,lastCol;
    public void valueChanged(ListSelectionEvent e){
     /*  if(e.getValueIsAdjusting())
       {
        System.out.println("value is adjusting!!");
        return ;
       } */


       int row = jTable1.getSelectedRow();
       int col = jTable1.getSelectedColumn();
       if(lastRow==row && lastCol==col)
       {
        System.out.println("The same Cell");
        return;
       }

       jTable1.getCellEditor(lastRow,lastCol).cancelCellEditing();
       System.out.println("selected row is :"+row+" selected column " + col);
       if(row>=0&&col>=0)
        {
          jTable1.editCellAt(row,col);
          TableCellEditor cellEditor = jTable1.getCellEditor(row,col);
          Component component = cellEditor.getTableCellEditorComponent
                          (jTable1,jTable1.getValueAt(row,col),true,row,col);
          component.requestFocus();
        }
    }
  }
 
}

这样可以在同一列中获得光标,可是不能用键盘换到不同列,我现在没时间,下午再看看问题出在哪儿
如果你重载了editor,看一看你的getcellcomponent(),这一行,返回的是不是textedit,如果不是,这个方法有点问题.
为了检查是不是没有单击就不出现textedit,clickCountToStart设为2,看看双击会不会出现这样的问题.
Sorry , try后就给分

谢谢 javafounder(漂流) bootcool(bootcool) 及所有弟兄
那些年Google公开的大数据领域论文 遍地撒网,重点培养,King.com颠覆性游戏商业模式 Adobe正式发布Photoshop Touch图像处理应用 2013年全球重要黑客大会一览 Gartner:2013年公有云将增长18.5%,达1310亿美元 开源炫彩界面库简介 一周消息树:我的十年编程自学之路 移动搜索状态:谷歌称雄 仍有较大发展空间 移动周报:我为什么弃用Objective-C而选择RubyMotion? 2月浏览器排行:IE高歌猛进 Chrome创17个月新低 Twitter创始人:最好的程序员大多是自学成才的 Evernote遭到攻击,5000万用户密码重置 VC++开源项目:P2P播放器AVPlayer NetIQ亚太区经理Ian Yip:移动社交工具崛起带来新机遇 快播CEO王欣:我不做内容,只钻技术! EMC中国凭什么说营收5年再增5倍? HTML5:或助三星Tizen 2.0逆袭主流移动OS 互联网巨头公司为何联合开发WebKit? 继Windows Blue:WP8升级或今年圣诞前到来 中国黑客部队攻击美国23家天然气公司 [CTO俱乐部第93期] 移动应用研发及位置在线平台架构分享 TeamToy——开源的团队高效协作工具 2013年数据中心发展的五个关键因素 可穿戴式设备:高调的Google 低调的苹果 由CloudFlare宕机引发的思考 传iWatch年内推出 或成苹果救命稻草 Twitter开源其Java消息流库Hosebird Client API正在崛起 渐成企业核心业务 HTML5会是Firefox OS的生门还是死门? 三星的成功并非偶然,而是专业 避免恶意软件 日本政府警告用户慎用Google Play 请 wenmingxing516 () 和 feng55555() 进来解释你给分的原则! 物资管理中物资价格的处理问题!!!!!!!!!!!!!!!!!!!!!!!!感谢帮助@ 讨论:perform(),sendmessage(),postmessage()区别 怎么获得文件的修改时间? 怯怯地问一句:我下载的TreeView怎么只有360k呀? 菜鸟问题百分相赠 各位大侠江湖救急啊!关于域的问题 请问有谁写过从DBF文件读出表结构的程序吗? 系统文件u8888.dll错误,发现无法识别版本系统,要求插入cd ,怎么回事啊? 申请游戏开发版块斑竹 我想问个排序的问题。 使用“文件”对话框,另存时 大家帮忙——————在线等待!!! 鼠标单击文本框内容,怎样取得其在文本框中的位置?? 用c++编写家电超市物流管理系统 有那位帅哥可以帮帮忙吗??谢谢~嘻~`~~~ 谁有英文版的FLASH和DREAMWEAVER!! 那里有C#的电子书下载呀 新手提问,关于SQL数据库的连接代码 在unix下的ftp问题 一个简单的问题 jbuilder中的Tools->Configure Servers的对话框中没有JBoss 3.X,如何是好? SqlServer数据库的备份问题 在线求助ReportBulider如何做这样的报表? 怎样得到用户表名? 大家好帮忙啊 ——————在线等待!! 直接访问操作符"." 和间接访问操作符"->" 有什么区别 数据库优化的问题 一个文本框,有一个验证控件(判断是否为数字),还有一个textchanged事件,这是一个矛盾的东西,让我头疼~~ interface中的uses语句和implemetation中的uses语句有何不同? XP个人单机服务器配置后访问需要帐号密码,怎么办 干得不开心,想转行,大家给点建议 如何实现“让用户自定义快捷键?” 怎么样把.aspx制作成安装的文件?? 我写了如下一个方法,但是用起来有问题,帮我看看!! 俺倒~~~~~~~~`怎么能上三星啊? 向高手求救:如何得到一张表的行数和列数!! 散分!代码解读! 使用sybase时的提示The query and the views in it exceed the limit of 16 tables. 有办法解决吗? 如何将数组的内容添加到一个文件的末尾 怎样才能打开一个489K的.DAT文件? 列表框(ClistCtrl)如何得到选中项的文本内容和选中项的索引值 为什么我登录到Oracle Management Server时老出错。(oracle 9i) 这样的sql语句怎么写呢?急啊!(还可以加分) pb中截取字符串的问题:急,在线等待 急,在VC++.Net中怎样将字符串System::String类型转换为LPSTR类型? 用PQ把NTFS转换成FAT32时,文件名全变名问号了,怎么办?!!!!!!!!!! 又是回车符的问题,急!!!!! 关于工具栏的问题 控件的DragMode为dmAutomatic,不能用鼠标点? 奇怪的电脑时钟 系统不支持本地交互式登陆 像星星一样的手工还有什么? 纸箱中有若干个乒乓球,其中1/3是一等品,N/7(N为整数)是二等品,其余的165个是三等品.问:那么一共有多少个乒乓球? 花美在外表,下句是什么 为什么要修剪树枝? 描写花的美句一定要优美,不要复制 友情的树枝读后感 顺便问一下,友情的枝条为什么要修剪?怎么理解最后一句话?急友情更像一棵树,只要你细心,就可以枝繁叶茂.但是这棵树,有些枝要好好地保护,而有些枝条要果断地修剪掉,树 先秦君子中安贫的代表是 美不美下一句 《伤仲永》中的事情用一字成语(3个)概括出来,如第一个:一鸣惊人,后面的我就不知道了,希望给予回答!《孙权劝学》的也要! 一箱子乒乓球,一等品是一箱子的1/4只,二等品是一箱子的a/5只,三等品是91只,共有多少只乒乓球? 箱子里有乒乓球若干个,其中四分之一是一等品,五分之几是二等品,其余91个是三等品.箱子里共有乒乓球几个? 巴基斯坦塔利班领导人在美国无人机空袭广西炮竹厂爆炸致11死17伤 组织专韩媒:中国冬季供暖引发的雾霾本周抵达用户短信含敏感词“地铁” 被系统拦截网传“倒输银行卡密码可报警” 银行否德国政府表示愿与斯诺登直接对话纽交所黄金期货市场1日交投最活跃的1洛杉矶机场枪击案1人死亡多人受伤 航纽约油价1日下跌北京一周三发重污染预警 13省市雾霾北京将迎冷空气救场驱雾霾 北风吹出蓝斯内德爆射临危救主 荷兰命悬一线末轮秋天里的一条船秋天站起的时候升至86人网络新型违法犯罪证监会首次对违法减持案件难度大 广州队拿下第三冠听取我省“十三五”规划编制工作情况汇图片新闻助力青运会 龙岩健康跑脱贫有技术 致富有门路御界轮回重生之工业帝国灵唤九沧人神进化魔兽之巅《梦开始的地方》域外奇卷义薄云天风雷激至九仙路西北节度使邪君凌世天一温泉度假村旅游后宰门街旅游东河桥旅游西双版纳热带动物园旅游汉拿山温泉旅游紫云岩旅游金山区旅游济南野生动物世界旅游济南星期八小镇旅游多雄拉河旅游西王母祖庙旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘