import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
 
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.MouseInputListener;
import javax.swing.table.DefaultTableModel;
 
//学生评教
 
public class Judge {
 
    static JPanel jj;
 
    public JPanel judge_panel(){
        jj = new JPanel();
        jj.setBounds(0, 0, 1000, 650);
        jj.setBackground(Color.blue);
        jj.setLayout(null);
        pop();
        return jj;
    }
 
    public void pop(){
        String[] tableTitleArray = {"ID","Name","Sex"};
       Object[][] body = new Object[6][tableTitleArray.length];
       for(int i = 0; i < 6;i++){
           body[i][0] = i;
           body[i][1] = "张三"+i;
           body[i][2] = "男";
       }
       final JTable table = new JTable(new DefaultTableModel(body,tableTitleArray));
       final MouseInputListener mouseInputListener = getMouseInputListener(table);//添加鼠标右键选择行
       table.addMouseListener(mouseInputListener);
       table.addMouseMotionListener(mouseInputListener);
       JScrollPane scrollPane = new JScrollPane(); 
       scrollPane.setViewportView(table);
       scrollPane.setSize(1000, 500);
       jj.add(scrollPane, BorderLayout.CENTER);
 
    }
 
    private MouseInputListener getMouseInputListener(final JTable jTable) {  
        return new MouseInputListener() {  
            public void mouseClicked(MouseEvent e) {  
                processEvent(e);  
            }  
 
            /*** 
             * //in order to trigger Left-click the event 
             */  
            public void mousePressed(MouseEvent e) {  
                processEvent(e);// is necessary!!!  
            }  
 
            public void mouseReleased(MouseEvent e) {  
                // processEvent(e);  
//                System.out.println(); 
                System.out.println(jTable.getValueAt(jTable.getSelectedRow(),jTable.getSelectedColumn()));
 
                if (e.getButton() == MouseEvent.BUTTON3) {// right click  
 
                    JPopupMenu popupmenu = new JPopupMenu();  
                    JMenuItem runM = new JMenuItem("111");  
                    JMenuItem copyParameterM = new JMenuItem("222");  
                    JMenuItem copyResponseM = new JMenuItem("333");  
//                  JMenuItem encodingM = new JMenuItem(ACTION_COMMAND_ENCODING);  
                    // JMenuItem editM=new JMenuItem("edit");  
                    MyMenuActionListener yMenuActionListener = new MyMenuActionListener();  
                    runM.addActionListener(yMenuActionListener);  
                    copyParameterM.addActionListener(yMenuActionListener);  
                    copyResponseM.addActionListener(yMenuActionListener);  
//                  encodingM.addActionListener(yMenuActionListener);  
                    popupmenu.add(runM);  
                    popupmenu.add(copyParameterM);  
                    popupmenu.add(copyResponseM);  
//                  popupmenu.add(encodingM);  
                    popupmenu.show(e.getComponent(), e.getX(), e.getY());  
                }  
            }  
 
            public void mouseEntered(MouseEvent e) {  
                processEvent(e);  
            }  
 
            public void mouseExited(MouseEvent e) {  
                processEvent(e);  
            }  
 
            public void mouseDragged(MouseEvent e) {  
                processEvent(e);  
            }  
 
            public void mouseMoved(MouseEvent e) {  
                processEvent(e);  
            }  
 
            private void processEvent(MouseEvent e) {  
                // Right-click on  
//                if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0) {  
//                    // System.out.println(e.getModifiers());  
////                     System.out.println("Right-click on");  
//                    
//                    int modifiers = e.getModifiers();  
//                    modifiers -= MouseEvent.BUTTON3_MASK;  
//                    modifiers |= MouseEvent.BUTTON1_MASK;  
//                    MouseEvent ne = new MouseEvent(e.getComponent(), e.getID(), e.getWhen(), modifiers, e.getX(), e.getY(),   e.getClickCount(), false);  
//                    jTable.dispatchEvent(ne);// in order to trigger Left-click  
//                    
//                    // the event  
//                }  
            }  
        };  
    }  
    class MyMenuActionListener implements ActionListener {
 
        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
 
        }  }
 
 
 
}

table 添加右键,并获取选中行信息的更多相关文章

  1. jQuery DataTables 获取选中行数据

    如题 想获取操作 DataTables 获取选中行数据 案1.主要是利用 js  getElementsByTagName 函数 然后对获取到的tr 进行操作  如下 function getChec ...

  2. jqgrid 获取选中行主键集合

    如何获取选中行的主键集合呢? 使用  getGridParam(selarrrow) 方法可获取所有选中行的主键集合. 注意:此处的主键集合是指-设置为主键的列(key: true).再次提醒:一个j ...

  3. gridview获取选中行索引及当前行数据

    gridview获取选中行索引及当前行数据 一.非直接绑定数据: <!--前台传值--> <asp:TemplateField HeaderText="操作"&g ...

  4. EasyUi DataGrid 获取选中行的checkbox

    EasyUi DataGrid 获取选中行的checkbox var checked = $(":checkbox[name=ID]:checked"); console.log( ...

  5. datagrid如何获取选中行的索引

    //datagrid获取选中行 var row =baseSelectgrid.datagrid('getSelected'); // 获取被选中行的索引 index var index=baseSe ...

  6. DHtmlx组件获取选中行的某一列对应的值

    最近刚刚接触DHtmlx这个js组件,对它还不是太了解,还在学习中,算是记录自己学习该组件的历程吧. 首先xml文件里有一个grid,有对应的checkbox,通过 var selectedId = ...

  7. bootstrapTable:获取选中行的数据

    必须要有checkbox:true和singleSelect:true,然后就可以通过var row=$("#mytab").bootstrapTable('getSelectio ...

  8. easy ui datagrid 获取选中行的数据

    取得选中行数据: var row = $('#tt').datagrid('getSelected'); if (row){ alert('Item ID:'+row.itemid+" Pr ...

  9. 如何用jQuery获取选中行固定列的数据

    [本文出自天外归云的博客园] 问题:把选中行的ID统计出来,组成一个数组传给后台(选中行的特点:class为danger) 办法如下: // 多选后点击下线按钮 $("#offline&qu ...

随机推荐

  1. typeahead使用配置参数。

    示例代码: var suggestion_source = new Bloodhound({ datumTokenizer: Bloodhound.tokenizers.obj.whitespace( ...

  2. mvn开发可执行的java程序

    1.  用maven-assembly-plugin插件 2. 在项目的pom文件中加入以下该插件的配置 <span style="font-size:18px;">& ...

  3. Windows2008安装IIS方法

    1.右键点击 “计算机”,在弹出菜单中选择“管理”选项,在服务器管理器左侧界面 点击 “角色”选项,如下图: 2.点击“添加角色”按钮后,弹出如下界面 3.选择“角色”列表中的“Web服务器(IIS) ...

  4. android常见错误-Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE

    在andorid进行调试的过程中,出现下面的错误: 解决方法: 修改一下应用程序描述符: <manifest xmlns:android="http://schemas.android ...

  5. 2014 百度之星题解 1002 - Disk Schedule

    Problem Description 有非常多从磁盘读取数据的需求,包含顺序读取.随机读取.为了提高效率,须要人为安排磁盘读取.然而,在现实中,这样的做法非常复杂.我们考虑一个相对简单的场景. 磁盘 ...

  6. Android 解决双卡双待手机解析短信异常

    开发中,难免会遇到各种各样的适配问题,尤其是经过深度修改定制过的系统,有的无论是软硬件上都有很大的区别,这里不得不提到一种奇葩的机型,没错,那就是双卡双待的手机(比如XT800, A60, S8600 ...

  7. 打开PPT 提示安装,非要取消才能显示PPT

    自从安装VS2008后,一打开ppt文件,就开始了配置VS2008的过程. 配置完了,下回也还提示安装. 解决方案: PowerPoint选项->加载项->Chinese Translat ...

  8. .net mvc 发布部署到机器上

    这样会自动在C:\Inetpub\wwwroot 会出现这个文件夹. 上述步骤都是在安装了 VS2010.MVC3.0和的电脑上操作的 接下来进行服务器的部署 :1. 安装Microsoft .net ...

  9. oracle合并查询

    1). Union 该操作符用于取得两个结果集的并集.当使用该操作符时,会自动去掉结果集中重复行. 2).union all 该操作符与union相似,但是它不会取消重复行,而且不会排序. 3). I ...

  10. Android(java)学习笔记195:三重for循环的优化(Java面试题)

    1.首先我们看一段代码: for(int i=0;i<1000;i++){ for(int j=0;j<100;j++){ for(int k=0;k<10;k++){ testFu ...