<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    春風(fēng)博客

    春天里,百花香...

    導(dǎo)航

    <2007年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    統(tǒng)計

    公告

    MAIL: junglesong@gmail.com
    MSN: junglesong_5@hotmail.com

    Locations of visitors to this page

    常用鏈接

    留言簿(11)

    隨筆分類(224)

    隨筆檔案(126)

    個人軟件下載

    我的其它博客

    我的鄰居們

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    在JTable上點(diǎn)擊右鍵并彈出菜單的實(shí)現(xiàn)

    本人在做一個在JTable上點(diǎn)擊右鍵彈出菜單的程序時,遇到了這樣的問題--菜單首項(xiàng)需要根據(jù)點(diǎn)擊的表格行的"表名列"改變,這需要我們做一點(diǎn)小小的工作,其實(shí)就是根據(jù)點(diǎn)擊的位置推算所在行,好了,廢話少說,看代碼吧.

    1.表格的建立過程

        String[] headers = {  "No", "Table Name"  };
        Object[][] cellData = null;

        DefaultTableModel model = new DefaultTableModel(cellData, headers) {
          public boolean isCellEditable(int row, int column) {
            // 第N列可以編輯
            /*
             * if (column == N) { return false; }
             */

            // 整個表都不能編輯
            return false;
          }
        };

        table = new JTable(model);

    2.菜單的建立
        popupMenu=new JPopupMenu();
       
        tableNameItem=new JMenuItem("");
        selectItem=new JMenuItem("Select SQL");
        insertItem=new JMenuItem("Insert SQL");
        deleteItem=new JMenuItem("Delete SQL");
        updateItem=new JMenuItem("Update SQL");
        hbmItem=new JMenuItem("hbm xml");
        hbmPojoItem=new JMenuItem("Pojo Class");
       
        popupMenu.add(tableNameItem);
        popupMenu.addSeparator();
        popupMenu.add(selectItem);
        popupMenu.add(insertItem);
        popupMenu.add(deleteItem);
        popupMenu.add(updateItem);
        popupMenu.addSeparator();
        popupMenu.add(hbmItem);
        popupMenu.add(hbmPojoItem);

    3.菜單的彈出處理
        
          table.addMouseListener(new MouseAdapter() {
              public void mousePressed(MouseEvent evt) {
                  if (evt.isPopupTrigger()) { 
                    //
    取得右鍵點(diǎn)擊所在行
                 
    int row=evt.getY()/table.getRowHeight();
                 
                  /**
                   * 取得是表名的那一列
                   */
                  int tableNameColumn=-1;
                 
                  for(int i=0;i<table.getColumnModel().getColumnCount();i++){
                    TableColumn selColumn = table.getColumnModel().getColumn(i);
                    String columnHeader=(String)selColumn.getHeaderValue();
                   
                    if(columnHeader.equals("Table Name")){
                      tableNameColumn=i;
                      break;
                    }
                  }
                 
                  /**
                   * 取得表名并彈出菜單
                   */
                  if(tableNameColumn!=-1){
                    /**
                     * 修改菜單首條的名稱
                     */
                    String tableName=(String)table.getValueAt(row,tableNameColumn);
                    tableNameItem.setText(tableName);
                   
                    // 彈出菜單
                    popupMenu.show(evt.getComponent(), evt.getX(), evt.getY());
                  }
                  }
              }
          }

            
    4.實(shí)現(xiàn)的效果如下:

    posted on 2007-06-12 22:23 sitinspring 閱讀(8159) 評論(1)  編輯  收藏 所屬分類: Swing

    評論

    # re: 在JTable上點(diǎn)擊右鍵并彈出菜單的實(shí)現(xiàn) 2007-09-17 09:56 千里冰封

    另外再加一個讓你右鏈點(diǎn)中的那一行設(shè)為選中狀態(tài),就更好了  回復(fù)  更多評論   

    sitinspring(http://m.tkk7.com)原創(chuàng),轉(zhuǎn)載請注明出處.
    主站蜘蛛池模板: 哒哒哒免费视频观看在线www| 永久免费在线观看视频| 爽爽日本在线视频免费| 亚洲综合在线一区二区三区| 国产啪精品视频网免费| 亚洲乱码一二三四五六区| 欧美a级成人网站免费| 亚洲熟妇无码av另类vr影视| 免费无码肉片在线观看| 亚洲国产精品18久久久久久| 国产精品成人无码免费| 羞羞视频免费网站日本| 久久国产亚洲精品麻豆| 日韩精品人妻系列无码专区免费 | 免费看片免费播放| 亚洲精品无码人妻无码| 免费一级毛片在播放视频| 一级一片免费视频播放| 亚洲AV无码国产精品麻豆天美 | 最近免费mv在线电影| 亚洲成人福利网站| 大学生a级毛片免费观看| 国产亚洲精品美女| 亚洲色欲久久久综合网| 蜜桃成人无码区免费视频网站| 亚洲性色高清完整版在线观看| 在线观看免费a∨网站| 免费很黄无遮挡的视频毛片| 亚洲精品无码高潮喷水在线| 91九色视频无限观看免费| 亚洲精华国产精华精华液| 久久久久亚洲AV成人网| 日韩精品极品视频在线观看免费| 色偷偷女男人的天堂亚洲网| 九月婷婷亚洲综合在线| 免费无码毛片一区二区APP| 亚洲精品av无码喷奶水糖心| 亚洲国产精品一区二区第一页| 99国产精品永久免费视频 | 久久精品国产亚洲网站| 又黄又爽又成人免费视频|