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

180分 请教

编辑:说三道四文库 发布时间:2017-08-22 03:45
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) 及所有弟兄
OpenStack将提供对Docker的支持 Facebook Q1财报:营收25.02亿美元、59%来自于移动 黑客们盯上了卫星,IOActive的惊人发现 开发汽车应用之前,你必须了解的7件事 埃森哲:智能电视潮流,势不可挡 直接拿来用!Facebook移动开源项目大合集 高大上Hadoop技术培训:Hadoop在企业中的应用实战 【走近讲师】新浪丛磊:通过MAE构建企业内部私有PaaS平台 API增长新趋势 消息应用类独占鳌头 软件项目为何会失败? 严澜:搭建高可用的MongoDB集群(二) 微软、思科、Google、Facebook等联合推出CII 狙击“Heartbleed” 这是个神奇的国度:细数五大印度裔IT牛人CEO Atmel CMO Sander Arts眼中的创客运动 Unity“三巨头”:全心全意为开发者服务 全球移动广告现状报告:哪种平台、应用最赚钱? 《近匠》Smart Wallit,钱包找不到了?给它“打个电话”吧 Mozilla新CTO:JavaScript、 Firefox OS专家Andreas Gal 李彦宏发布百度大数据引擎,及与谷歌、亚马逊等类似项目对比 大数据领域,实时打击欺诈犯罪的4个战场 一周消息树:谷歌Project Ara,将开启下一个智能手机时代 数据恢复服务商的6个最佳实践 【走近讲师】谭晓生:魔高一尺道高一丈,360基于大数据的网络攻击检测 一周热点:摩尔定律让位于贝索斯定律 阿里巴巴集团CTO王坚确认出席第六届中国云计算大会 【走近讲师】青云甘泉:混合云的构建及其对企业的帮助 RadiumOne创始人兼CEO因家暴被公司解雇 3D打印狂潮:可检测皮肤疾病的低价手机显微镜 浅谈导航设计,开发者必备的十大实用技巧 【云先锋 41】上海越诚:基于云服务的建站类iService软件超市 董西成:Hadoop将在高速发展和完善中扩大优势! 要判断_variant_t类型和CString是否相等,怎么做类型转换? 紧急求助!!!! 女友被抢!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 看看这句代码,在线等待。 请问如何将SqlDataReader类型转变为SqlDataAdapter类型? 寻找开发调试器的网上资源 我想知道在哪可以下载 Microsoft Visual Studio 的中文版 ===有关Datagrid模板列:在里面添加Radio控件,如何设置和获取它们的值[紧急,一定给分]=== 有没有人用过dtl.lib(database template library)编写数据库程序? 就差一点了 谁能回答我关于 Junit 的问题 谁能告诉我,mysql的update语句是否可以用正则表达式呢 关于maxplus的一个问题。 招工信息 ulimit -f 执行不成功为什么? 如何显示时间?? 寻找开发调试器的网上资源! linux下有没有类似windows下struct _finddata_t查找结构体的东西 100分求解pl/sql developer v5.0.1 的注册码! 为什么我的.nsf签名签不上,可能有哪些原因呢?请各位帮帮忙!! 给个匿名FTP站点做中转站。 刚才用了CButtonST,举爽,散分了。。 寻找开发调试器的网上资源! 急:为什么用iframe插入网页只显示一部分? --------开发工作流----------- 大侠们急救,高分给!!! 在98控制面板中发现MS DTC这项,请问它是干什么用的? 用recordset打开数据库的问题 帮忙? 告别美丽的初恋情人 本人开始学vc 请问一个定义全局变量的问题?? 字符比较的问题 用变量来建表的问题 簡單問題﹕請問怎樣用控件綁定數據(在線) !·#¥%施瓦辛格般的女生爱上你,该不该接受??? 建立怎样的数据库? Media Player 9的问题! 谁有播放MP3的算法?谢谢!! 关于文件夹创建问题:API高手进 我知道这里有很多高手的,故再一次参考各位高手或专家的建议 爱情、金钱、理想---------我徘徊、我郁闷。 InstallShield Engine EXE 遇到问题 各位老大问一个简单问题,如何把数字的每一位的数字取出来,如6245,取出为6,2,4,5 我用utl_smtp发送邮件时,中文的就变成乱码了?急需高手指点! 关于Deleterow()的疑问? 如何设置虚拟目录 如何捕获,comboBOx 选中下拉项中其中一项的事件? 有谁知道大富翁论坛离线资料的下载地址,就是那个chm格式的200多M的? 如何将字符串转换成ASCII码 假如我将扩展分区设成活动分区,然后在其中的一个驱动器安装98。问题:98能启动吗?主分区C盘有东西吗? 如何捕获,comboBOx 选中下拉项中其中一项的事件? 两名法国记者在马里遭绑架遇害 遗体抵商家应对中央禁令推便宜年历 省出回扣日本官员爆料:自卫队军演目标是攻击中一客机在蒙特利尔机场失火被迫疏散 致不想脱外套 美国3岁女童被托儿所长活日本一17岁少年将伙伴推下河 称没有在柬埔寨感受“今日中国”2014放假安排最早12月定 “只调两岸产业合作谋新局“有保有放”俄大胆盗贼偷警察大楼 部分武器及文件日媒:安倍上任后已打13次高尔夫 展德国拒绝为斯诺登提供庇护 避免影响德朴槿惠恐无意与安倍会晤 日方宣称极度美参众两院大佬不宽恕斯诺登 将派“安印尼巴厘岛男子咖啡地中发现2000多美国新泽西一商场发生枪击事件 暂无人英内阁会议为防监听禁用iPad 高官美新泽西州商场发生枪击 在场民众描述美国西部山区蕴含创业潜力 或成下一个美威州两飞机3000米高空相撞 11德国拒绝为斯诺登提供庇护 避免影响德孕妇坐大巴回家,途中被“倒手”三次多措并举治出行“顽症”“行政执法+刑事司法”打击恶意欠薪营改增减税效应持续扩大家园有梦翻新篇荒漠化治理的“中国药方”人社部公布第二批欠薪典型英国被曝核导弹试射失误:本应飞非洲却特朗普辞退所有驻外大使 目前美驻外大高房价等影响生育 中央要求40部门推大数据技术精准筛查违纪线索去年新生儿中二孩及以上占45%部署政府工作报告重点任务落实工作苯污染已消除 应急响应终止贺龙:“我们胜利的线装书申遗第一基地落户35中“香烟作为礼品是最坏的选择”特朗普抛出“美国优先能源计划”部分公司拟放弃烟花爆竹业务本市两年启动120个水环境建设项目找准中华文明复兴的核心理念
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘