当前位置:  技术问答>java相关

JTable里面,当鼠标选定一条记录时,如何获取该记录的某个字段并放入一个jTextField?

    来源: 互联网  发布时间:2015-06-09

    本文导语:  JTable里面,当鼠标选定一条记录时,我想将该记录的某个字段取出并放入一个jTextField里面将它显示出来。请问该如何处理? 逍遥思辨给我下面代码: table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {  ...

JTable里面,当鼠标选定一条记录时,我想将该记录的某个字段取出并放入一个jTextField里面将它显示出来。请问该如何处理?

逍遥思辨给我下面代码:
table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
  public void valueChanged(ListSelectionEvent e) {
    if (!e.getValueIsAdjusting()) {
      String value = (String)table.getValueAt(table.getSelectedRow(), 0) //选中行的第一个字段
      jTextField1.setText(value);
    }
  }
});
我中间的给jTextField1赋值看得懂。但是此代码放入程序出错。
于是我仿照jb6里面通过控件生成JButton的actionPerformed事件模仿改为:
  table.getSelectionModel().addListSelectionListener(
    new ListSelectionListener() {//这个ListSelectionListener是我随便添的
    public void SelectionListener(ListSelectionEvent e) {
      valueChanged(e);
    }
  });//程序中此段有错,我也不知道是不是该这么写

  void valueChanged(ListSelectionEvent e) {
    if (!e.getValueIsAdjusting()) {
      String value = (String)table.getValueAt(table.getSelectedRow(), 0);
      //选中行的第一个字段
      jTextField1.setText(value);
    }
  }//此方法正常

请问谁能帮我改正上面的代码来达到我的要求?
如果能用其它形式完成亦可。

分不是问题,不够再加!!!!!

|
刚才开会去了,迟复为歉。
我的代码没错,给table的selectionModel添加监听器(用一个匿名内部类来实现),监听器实现了valueChanged方法,在valueChanged方法中处理逻辑
只不过String value = (String)table.getValueAt(table.getSelectedRow(), 0) //选中行的第一个字段 里少写了一个;号倒是真的

|
且不管你用哪种,我仔细看了你贴出来的代码,是你写错了。valueChanged方法是ListSelectionListener接口下须重载的方法,所以你须将代码改正如下:
第一段:
table.getSelectionModel().addListSelectionListener(
new ListSelectionListener() {
  public void valueChanged (ListSelectionEvent e) {
    doSelectShow(e);//此方法做你想做的事情
  }
});
第二段,自定义doSelectShow方法
void doSelectShow(ListSelectionEvent e) {
  if (!e.getValueIsAdjusting()) {
    String value = (String)table.getValueAt(table.getSelectedRow(), 0);
    //选中行的第一个字段
    jTextField1.setText(value);
  }
}

这样就不会出错了

|
你不是有个JTable的事例吗?例如:JTable t=new JTable();我想用这两个最好:
t.addMouseListener(MouseListener);
t.addMouseMotionListener(MouseMontionLister);
在这两个事件里实现最好,因为valuechnged()只要你的value变了,无论你点不点表中的记录,JTextField里的value都会该变.你不防试试我告诉你的方法.ok?

|
定義一個TableColumn 
TableColumn myColumn = table.getColumnModel().getColumn(2);
JTextField myTextField = new JTextField();
myColumn.setCellEditor(new DefaultCellEditor(myTextField ));
就把myTextField加到table中去了

取值就自己取吧,很容易的

|
其实是很简单的,你不要用swing这个控件,用dbswing,
将JTable改成 JdbTable ,将JTextField改成JdbTextField,另外在用上database Express中间database控件进行数据库连接.
将jdbTextField与对应的字段进行绑定,那么就可以了
其实这就是数据感知控件的用法,至于具体的你可以参考一些相关的书,关于数据感知控件的,非常简单与轻松.

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于JTable:选择表里的一行,要求新弹出的一窗口里面TextField显示这行各个字段的内容,JTable有这样的ActionListener吗?
  • java命名空间javax.swing类jtable的类成员方法: jtable定义及介绍
  • JTable:如何在JTable中加入新的column和加入的row,如何在JTable中设置指定坐标上的值?
  • java命名空间javax.swing类jtable.accessiblejtable的类成员方法: jtable.accessiblejtable定义及介绍
  • 一个比较笨的问题:如何用两个Vector对象动态生成一个JTable?及从JTable里取得数据。
  • java命名空间javax.swing类jtable.accessiblejtable.accessiblejtablecell的类成员方法: jtable.accessiblejtable.accessiblejtablecell定义及介绍
  • 初始化jtable时,我只想生成一个只有表头,即列名,还没有数据行的jtable。该如何实现?
  • java命名空间javax.swing类jtable的类成员方法: selectionbackground定义及介绍
  • JTABLE的难题:我想在鼠标右键点击JTABLE时被点中的那一行被选中,如何实现?
  • java命名空间javax.swing类jtable的类成员方法: configureenclosingscrollpane定义及介绍
  • JTable里面点击cell下拉JTable
  • java命名空间javax.swing类jtable的类成员方法: setsurrendersfocusonkeystroke定义及介绍
  • JTable的刷新问题!
  • java命名空间javax.swing类jtable的类成员方法: getmodel定义及介绍
  • 怎样在JTable中得到和设置每个单元的值,给20分,大虾教我!
  • java命名空间javax.swing类jtable的类成员方法: getrowcount定义及介绍
  • 求救:如何在JTable中动态添加一行?
  • java命名空间javax.swing类jtable的类成员方法: getaccessiblecontext定义及介绍
  • 如何得到JScrollPane中的JTable
  • java命名空间javax.swing枚举jtable.printmode的类成员方法: normal定义及介绍
  • 关于JTable,急!
  • java命名空间javax.swing类jtable的类成员方法: gettooltiptext定义及介绍
  • jtable


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    java相关 iis7站长之家