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
} }
}
- jQuery DataTables 获取选中行数据
如题 想获取操作 DataTables 获取选中行数据 案1.主要是利用 js getElementsByTagName 函数 然后对获取到的tr 进行操作 如下 function getChec ...
- jqgrid 获取选中行主键集合
如何获取选中行的主键集合呢? 使用 getGridParam(selarrrow) 方法可获取所有选中行的主键集合. 注意:此处的主键集合是指-设置为主键的列(key: true).再次提醒:一个j ...
- gridview获取选中行索引及当前行数据
gridview获取选中行索引及当前行数据 一.非直接绑定数据: <!--前台传值--> <asp:TemplateField HeaderText="操作"&g ...
- EasyUi DataGrid 获取选中行的checkbox
EasyUi DataGrid 获取选中行的checkbox var checked = $(":checkbox[name=ID]:checked"); console.log( ...
- datagrid如何获取选中行的索引
//datagrid获取选中行 var row =baseSelectgrid.datagrid('getSelected'); // 获取被选中行的索引 index var index=baseSe ...
- DHtmlx组件获取选中行的某一列对应的值
最近刚刚接触DHtmlx这个js组件,对它还不是太了解,还在学习中,算是记录自己学习该组件的历程吧. 首先xml文件里有一个grid,有对应的checkbox,通过 var selectedId = ...
- bootstrapTable:获取选中行的数据
必须要有checkbox:true和singleSelect:true,然后就可以通过var row=$("#mytab").bootstrapTable('getSelectio ...
- easy ui datagrid 获取选中行的数据
取得选中行数据: var row = $('#tt').datagrid('getSelected'); if (row){ alert('Item ID:'+row.itemid+" Pr ...
- 如何用jQuery获取选中行固定列的数据
[本文出自天外归云的博客园] 问题:把选中行的ID统计出来,组成一个数组传给后台(选中行的特点:class为danger) 办法如下: // 多选后点击下线按钮 $("#offline&qu ...
随机推荐
- 【转】shell 教程——02 几种常见的Shell
上面提到过,Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本. Unix/Linux上常见的Shell脚本解释器有bash.sh.csh.ksh等,习惯上把它们称作一种Shell.我们常说 ...
- hdoj 1269 迷宫城堡【scc基础题目】
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 加速数组操作(Array)
Measure-Command { $ar = @() for ($x=0; $x -lt 10000; $x++) { $ar += $x } }执行结果:3.301s Measure-Comman ...
- 在XMPP的JAVA开源实现Openfire中,增加LBS 附近的人功能
1. XMPP协议 与 Openfire XMPP协议是IM领域的标准协议了,具体可参考 http://xmpp.org 及RFC6120,RFC6121,RFC6122等相关文档. http: ...
- [Webpack 2] Polyfill Promises for Webpack 2
If you're going to use code splitting with Webpack 2, you'll need to make sure the browser has suppo ...
- 最简单的基于FFMPEG的视频编码器(YUV编码为H.264)
本文介绍一个最简单的基于FFMPEG的视频编码器.该编码器实现了YUV420P的像素数据编码为H.264的压缩编码数据.编码器代码十分简单,可是每一行代码都非常重要,适合好好研究一下.弄清楚了本代码也 ...
- 【NodeJs】使用TCP套接字收发数据的简单实例
因为TCP协议是流协议,在收发数据的时候会有粘包的问题.本例使用自定义的SPtcp封包协议对TCP数据再进行一次封装,解决了粘包问题. 注:其性能仍有待优化.优化方向:使用TCP自带的接收窗口缓存. ...
- C#选择文件、选择文件夹、打开文件(或者文件夹)
1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以 ...
- mysql-distinct去重、mysql-group …
一.MYSQL-distinct用法 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记 ...
- U3D 抛物线的方法
本文转载:http://www.manew.com/thread-44642-1-1.html 无论是愤怒的小鸟,还是弓箭发射功能,亦或者模拟炮弹受重力影响等抛物线轨迹,都可以使用本文的方法,模拟绝对 ...