默认情况下。在一行双击的情况下。
会进入编辑状态。我想在jtable行双击弹出一对话框。。
下面的代码可以触发事件,但是不是通过双击触发的,我要的是通过双击触发的。    jTable_browse.getSelectionModel().addListSelectionListener(new ListSelectionListener (){
        //Frame_e_detail Frame_e_detail= new Frame_e_detail();
        Frame_e_detail dlg = new Frame_e_detail();
        public void valueChanged (ListSelectionEvent e){
          System.out.println(jTable_browse.getModel().getValueAt(jTable_browse.getSelectedRow(),0).toString());
        
          Dimension dlgSize = dlg.getPreferredSize();
          Dimension frmSize = getSize();
          Point loc = getLocation();
          dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
          dlg.setModal(true);
          dlg.show();
        }
    });谁能帮帮我,谢谢!!!!

解决方案 »

  1.   

    jTable.addMouseListener(new MouseAdapter(){
          public void mouseClicked(MouseEvent e){
            if(e.getClickCount()>2){
              //code
            }
          }
        });
    这样应该可以
      

  2.   

    不行的。这样的话不会响应,这是我看别人的一句话:
    这就涉及到jtable的运行机制,当你双击jtable中的某个cell,jtable认为你是准备编辑,在jtable中将其他的listener都屏蔽掉了!然后调用编辑器,所以你的addMouseListener被屏蔽了,当然不会响应!