我现在有mainFrame和一个JDialog, 在mainFrame里点击jtable中的一个数据,希望能够在jdialog中显示出来  这个如何实现?
好久没到csdn来了 希望大家讨论下。 

解决方案 »

  1.   

    分是我的,刚好在做table.addMouseListener(new UserMouseAdapter() {
    public void mouseSingleClicked(MouseEvent e) {
    // System.out.println("Single Clicked!");

    int rowI = table.rowAtPoint(e.getPoint());// 得到table的行号
    int columnI = table.columnAtPoint(e.getPoint());// 得到table的列号

    if (rowI > -1&&columnI>-1){
    System.out.println("单击鼠标 "+rowI+"行"+columnI+"列"
    + (table.getModel()).getValueAt(rowI, columnI));
    new InfoDialog((String)(table.getModel()).getValueAt(rowI, columnI));

    }



    } });
      

  2.   

    相信楼主应该有这样的能力,不过既然是讨论,不知道这样能不能理清下思路。这个mainFrame是作为一个父容器的,那么它自然能够得到里面的table的数据,对于获得里面的哪些数据,不外乎是去自己重写或调用api,既然能够得到这些数据,那么自然可以传递给一个dialog;当然也可以不通过这个mainFrame来处理这个过程,不过暂时认为这样做有更多的好处,不知道算不算解除table和dialog的直接耦合,同时因为把mainFrame作为中介者之后,可能对接下来的数据处理比较方便。总之,理清这些对象(类)之间的关系是很有必要的,新手小见,高人见笑了
      

  3.   

    当在mainFrame上选中行时,jdialog得到通知
      

  4.   

    在jtable的click事件中,搞一个jdialog对象,填充数据到jdialog里面,在setVisible
      

  5.   

    JDialog提供一个方法能够用来显示数据的