Swing開發的收穫心得(二)———Jtable取消雙擊編輯,獲得表格值

來源:互聯網
上載者:User

 上一篇講的如何重新整理JTable的資料,這次講一下,如何取消Jtable預設雙擊編輯的效果。

百度已經有很多了,結合我自己的例子,直接.

想要的效果是雙擊該jtabl,彈出一個Jframe,可以進行操作。

思路:取消Jtable的雙擊修改的預設情況,改為取得儲存格的內容。

1、自訂Jtable

class MyTableModel extends DefaultTableModel{

    /**
  * 自創表格類
  */
 private static final long serialVersionUID = 1L;

 public MyTableModel(Object[][] data, Object[] columnNames){
     super(data, columnNames);//這裡一定要覆蓋父類的構造方法,否則不能執行個體myTableModel
    }

    public boolean isCellEditable(int row, int column){
     return false;//父類的方法裡面是 return true的,所以就可以編輯了~~~
    }
}

2、獲得Jtabl的監聽,取得內容

jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
   public void mouseClicked(java.awt.event.MouseEvent evt) {
    jTable1MouseClicked(evt);
   }

 });添加Jtable的mouseListener

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//雙擊儲存格觸發的效果
  if(evt.getClickCount()==2) {  雙擊
   int row = jTable1.getSelectedRow();//獲得選中的行
   DBCon dbCon = new DBCon();
   data = dbCon.getAllUserInfo();//重新載入資料,免得越界
   String uname = (String) data[row][1];//使用者名稱
   if(userSession!=null) {
    new ModifyUserFrame(userSession,uname,jTable1).setVisible(true);
   }else {
    JOptionPane.showMessageDialog(this, "無許可權,請退出軟體重新登入", "提示", JOptionPane.ERROR_MESSAGE);
   }
  }
 }

到此,結束

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.