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

JTable的问题

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

    本文导语:  想用两个JTable,都是列是一位的,中间有一个button,左边的JTable内已经有数据,且不能更改,右边的JTable各行为空,选中左边JTable中的一个record,点击中间的button,能够在右边JTable中出现该record。 各位大虾,这该如何做...

想用两个JTable,都是列是一位的,中间有一个button,左边的JTable内已经有数据,且不能更改,右边的JTable各行为空,选中左边JTable中的一个record,点击中间的button,能够在右边JTable中出现该record。
各位大虾,这该如何做,给出思路和代码都好。

|
首先实现TableModelListener(其实什么事也不用做,但是只有这样 JTable的数据显示才会更新)
class UserTableModelListener implements TableModelListener {

  public UserTableModelListener() {
  }

  public void tableChanged(TableModelEvent e) {
  }
}

然后继承DefaultTableModel,让JTable不能编辑.
  class UserTableModel extends DefaultTableModel {
    public CustomTableModel(Object[][] data, Object[] colname) {
      super(data, colname);
    }

    public boolean isCellEditable(int x, int y) {
      return false;
    }

    public void addTableModelListener(UserTableModelListener l) {
      super.addTableModelListener(l);
    }


  }

这是你的frame
public class YourApp extends JFrame 

   JTable ltable = null;
   JTable rtable = null;
   UserTableModel lmodel = null;
   UserTableModel rmodel = null; 

    public YourApp() {
    try {
      yourInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }

  private void yourInit() throws Exception {
     Object[][] yourdata = yourdata;
     Object[][] zerodata = new Object[0][0];
     Object[] yourcolname  = yourcolname;
     lmodel = new UserTableModel(yourdata, yourcolname);     
     rmodel = new UserTableModel(zerodata, yourcolname);     
     ltable = new JTable(lmodel);
     rtable = new JTable(rmmodel);
       
     lmodel.addTableModelListener(new  UserTableModelListener());
     rmodel.addTableModelListener(new  UserTableModelListener());

     JButton add = new JButton("add");
     add.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        actionPerformed(e);
      }
    });
  }

  void actionPerformed(ActionEvent e) {
    int row = ltable.getSelectedRow();
    String[] data = new String[1];
    data[0] = (String)ltable.getValueAt(row, 0);
    lmodel.removeRow(row);
    rmodel.addRow(data);    
  }
}

|
代码没有办法写了。说说思路好了。
左边的jtable,当你选中的时候,你能得到所有被选中的行(所以可以几行一起到右边的jtable),
来个循环,取的所有的行号及值(不要怀疑,我都做过),同时右边的jtable插入行,行的值就是你从左边取出来的值。
呵呵,以你的功底一定很容易的。
          

|
DefaultTableModel是java 的 api!

这一段有点问题:
然后继承DefaultTableModel,让JTable不能编辑.
  class UserTableModel extends DefaultTableModel {
        ~~~~~~~~~~~~~~
    public CustomTableModel(Object[][] data, Object[] colname) {
           ~~~~~~~~~~~~~~~~
      super(data, colname);
    }

    public boolean isCellEditable(int x, int y) {
      return false;
    }

    public void addTableModelListener(UserTableModelListener l) {
      super.addTableModelListener(l);
    }

  }

类名和构造函数名不一样,是不是这个问题!?

|
sorry,原来的class叫CustomTableModel,copy后只改名,构造函数忘了改了。不好意思。
to panq: import javax.swing.table.DefaultTableModel;

|
支持一把

|
gz

|
gz

|
gz

|
我已经写得这么详细了(除了界面布局的代码),你还想要什么思路,代码?

    
 
 

您可能感兴趣的文章:

  • 一个比较笨的问题:如何用两个Vector对象动态生成一个JTable?及从JTable里取得数据。
  • JTable的刷新问题!
  • 菜鸟问题---JTable怎么用?
  • JTable的问题(急,先谢大侠们)
  • 关于JTable类的问题
  • 哪位大虾能够帮我这个JTable的小问题阿!!!
  • 如果解决jTable中滚动条拖动后花屏的问题》?
  • 关于JTable的问题!
  • Swing中JTable控件的问题!
  • 关于JTable自动更新数据的问题
  • 关于在swing JTable的一个问题,请高手赐教!急!!
  • jTable中行标题的宽度调整问题,急,各位大虾多帮忙啦!
  • Java有关JScrollPane和JTable的使用时横滚动条的问题请教
  • JTable的拖放问题
  • 有关JTABLE的问题!急!在线等待!
  • 用java swing JTable做一个属性编辑器遇到的问题,请高手赐教!急,急!!
  • 一个关于jtable放置在jscrollpane的问题?
  • 问题:DefaulTableModel是否有排序的功能,如果没有,jTable如何排序,我是从XML取数据到Table里。
  • 从tablemodel里面检测到jtable一格的数据有问题如何让该格获得焦点继续编辑?
  • 关于JTable的问题(我能给的最高分了)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.swing类jtable的类成员方法: jtable定义及介绍
  • JTable:如何在JTable中加入新的column和加入的row,如何在JTable中设置指定坐标上的值?
  • java命名空间javax.swing类jtable.accessiblejtable的类成员方法: jtable.accessiblejtable定义及介绍
  • 初始化jtable时,我只想生成一个只有表头,即列名,还没有数据行的jtable。该如何实现?
  • java命名空间javax.swing类jtable.accessiblejtable.accessiblejtablecell的类成员方法: jtable.accessiblejtable.accessiblejtablecell定义及介绍
  • JTABLE的难题:我想在鼠标右键点击JTABLE时被点中的那一行被选中,如何实现?
  • java命名空间javax.swing类jtable的类成员方法: selectionbackground定义及介绍
  • JTable里面点击cell下拉JTable
  • java命名空间javax.swing类jtable的类成员方法: configureenclosingscrollpane定义及介绍
  • 关于JTable:选择表里的一行,要求新弹出的一窗口里面TextField显示这行各个字段的内容,JTable有这样的ActionListener吗?
  • java命名空间javax.swing类jtable的类成员方法: setsurrendersfocusonkeystroke定义及介绍
  • 怎样在JTable中得到和设置每个单元的值,给20分,大虾教我!
  • java命名空间javax.swing类jtable的类成员方法: getmodel定义及介绍
  • 求救:如何在JTable中动态添加一行?
  • java命名空间javax.swing类jtable的类成员方法: getrowcount定义及介绍
  • java中查询的数据库记录如何在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(请将#改为@)

    浙ICP备11055608号-3