<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上點擊右鍵并彈出菜單的實現(xiàn)

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

    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()) { 
                    //
    取得右鍵點擊所在行
                 
    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.實現(xiàn)的效果如下:

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

    評論

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

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

    sitinspring(http://m.tkk7.com)原創(chuàng),轉(zhuǎn)載請注明出處.
    主站蜘蛛池模板: 亚洲AV人无码激艳猛片| 久久亚洲AV永久无码精品| 中文字幕亚洲色图| 日韩精品无码专区免费播放| 亚洲一区AV无码少妇电影☆| 在线视频免费国产成人| 亚洲国产系列一区二区三区 | 黄色毛片免费网站| 在线观看亚洲免费| 高h视频在线免费观看| 亚洲国模精品一区| 久久99精品免费一区二区| 亚洲人成图片小说网站| 国内精品久久久久影院免费| 亚洲AV无码1区2区久久| 日本人的色道免费网站| 亚洲性色AV日韩在线观看| 一级女性全黄生活片免费看| 亚洲一区二区三区乱码A| 中文在线观看国语高清免费| 亚洲永久精品ww47| 99久久99久久精品免费观看| 亚洲一区二区三区在线| 国产一卡二卡≡卡四卡免费乱码| 一区二区三区免费精品视频| 亚洲av一综合av一区| 免费看黄视频网站| 男人j进女人p免费视频| 亚洲AV无码久久精品成人 | 亚洲成a人片在线观看精品| 午夜免费福利网站| 好湿好大好紧好爽免费视频| 午夜亚洲国产理论秋霞| 成年女人免费碰碰视频| yellow视频免费看| 亚洲国产情侣一区二区三区| 亚洲Av无码国产情品久久| 91免费福利精品国产| 亚洲一区二区三区香蕉| 国内精品免费麻豆网站91麻豆 | 免费观看黄网站在线播放|