首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • table [已结贴,结贴人:kkyjy]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kkyjy
    • 等级:
    发表于:2008-06-14 14:01:08 楼主
    GUI面板中,
    用鼠标选中表中的一行数据,
    怎样才能获得我 选中的 这一行的 数据呢?

    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-14 15:49:021楼 得分:0
    在你的table的表结构中(比如是vector)利用行号进行循环查询,就能得到了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-14 17:38:222楼 得分:0
    用一个循环  然后用 getvalueat这个
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 09:01:243楼 得分:0
      for(int i=0;i <行数;i++){
    jTable1.getModel().getValueAt(i, 列);
    }
    用这个思路来取吧哪一列可以给表格添加一个MouseListener来获得\
    不明白的话可以继续探讨
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-16 15:50:544楼 得分:0
    一般不这么用啊
    都是用getValueAt()
    如果用Vector,那么不是任何情况都通用,有的时候表格的数据不是由Vector的形势给出的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-18 14:25:505楼 得分:0
    楼主可以试试这个
    Java code
    /** *选中某行,并返回信息到文本框 */ private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked int rr; String tt = null; rr = jTable1.getSelectedRow(); String t = jTable1.getValueAt(rr,0).toString(); String t1 = jTable1.getValueAt(rr,1).toString(); String t2 = jTable1.getValueAt(rr,2).toString(); String t3 = jTable1.getValueAt(rr,3).toString(); jTextField1.setText(t); jTextField2.setText(t1); jTextField3.setText(t2); jTextField4.setText(t3);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-20 11:09:446楼 得分:20
    Java code
    import java.awt.*; import javax.swing.*; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.table.*; import java.util.*; public class Frame1 extends JFrame implements ActionListener { public Frame1() { try { jbInit(); } catch (Exception exception) { exception.printStackTrace(); } } JPanel jPanel1 = new JPanel(); JButton jButton1 = new JButton();//add rows in the table DefaultTableModel dtm = new DefaultTableModel(0, 3); DefaultTableModel dtm1 = new DefaultTableModel(0, 3); JButton jButton2 = new JButton();//clear table JButton jButton3 = new JButton();//move table1 to table2 "<<" JPanel jPanel2 = new JPanel(); JScrollPane jScrollPane1 = new JScrollPane(); JTable jTable1 = new JTable(dtm); JScrollPane jScrollPane2 = new JScrollPane(); JTable jTable2 = new JTable(dtm1); private void jbInit() throws Exception { this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jButton2.setText("清空 "); jButton2.addActionListener(this); jButton3.setText(" < < "); this.getContentPane().add(jPanel1, java.awt.BorderLayout.SOUTH); jButton1.addActionListener(this); jPanel1.add(jButton1); jPanel1.add(jButton2); this.getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER); jPanel2.add(jScrollPane2); jScrollPane2.getViewport().add(jTable2); jPanel2.add(jButton3); jPanel2.add(jScrollPane1); jScrollPane1.getViewport().add(jTable1); jButton3.addActionListener(this); jButton1.setText("添加一行 "); this.setBounds(0, 0, 1000, 700); this.setVisible(true); } public static void main(String[] args) { Frame1 f = new Frame1(); } public void actionPerformed(ActionEvent e) { if (e.getSource().equals(jButton2)) { //清空 while (dtm.getRowCount() > 0) { dtm.removeRow(0); } } else if (e.getSource().equals(jButton1)) { //添加一行 String[] a = { String.valueOf(Math.random()), String.valueOf(Math.random()), String.valueOf(Math.random())}; dtm.addRow(a); } else if (e.getSource().equals(jButton3)) { if (this.jTable1.getSelectedRow() >= 0) { //System.out.println(dtm.getDataVector().get(jTable1.getSelectedRow()).getClass()); //dtm1.addRow((String[])dtm.getDataVector().get(jTable1.getSelectedRow())); dtm1.addRow( (Vector) dtm.getDataVector().get(jTable1.[b]getSelectedRow[/b]())); } } } }

    或许有帮助
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-20 11:09:487楼 得分:0
    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主截止到2008-06-20 11:09:55的汇总数据:
    注册日期:2008-5-26
    上次登录:2008-6-15
    发帖数:4                  发帖分:80               
    结贴数:2                  结贴分:40               
    结贴率:50.00%        结分率:50.00%       
    楼主加油
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-20 11:11:128楼 得分:0
    .getSelectedRow()));
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-20 11:48:059楼 得分:0
    用循环...因为列数是已知的.
    如果你的Model里面的数据是用JList,或是Vector,或是数组存放则可以在你的TableModel里面多写个函数来得到那一行的数据.
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved