java swing jtable 右击_java swing 给Table增加右键菜单

给Table增加右键菜单

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);

if (e.getButton() == MouseEvent.BUTTON3) {// right click

JPopupMenu popupmenu = new JPopupMenu();

JMenuItem runM = new JMenuItem(ACTION_COMMAND_RUN);

JMenuItem copyParameterM = new JMenuItem(ACTION_COMMAND_COPY_REQUEST_PARAMETER);

JMenuItem copyResponseM = new JMenuItem(ACTION_COMMAND_COPY_RESPONSE);

//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) {

String command = e.getActionCommand();

//System.out.println(command);

if (command.equalsIgnoreCase(ACTION_COMMAND_RUN)) {

System.out.println("run");

requestAction();

} else if (command.equalsIgnoreCase(ACTION_COMMAND_COPY_REQUEST_PARAMETER)) {

System.out.println("获取请求要素");

String requestBody = requestBodyDataTA.getText();

if (!ValueWidget.isNullOrEmpty(requestBody)) {

WindowUtil.setSysClipboardText(requestBody);

}

} else if (command.equalsIgnoreCase(ACTION_COMMAND_COPY_RESPONSE)) {

System.out.println("获取应答");

requestAction();

if (!ValueWidget.isNullOrEmpty(responseJsonResult)) {

WindowUtil.setSysClipboardText(responseJsonResult);

}

}

}

}

?调用:

final MouseInputListener mouseInputListener = getMouseInputListener(parameterTable_1);//

parameterTable_1.addMouseListener(mouseInputListener);

?

e822a3ff970d26caf3a6998ed356ecae.png

?

说明:parameterTable_1的类型是:JTable

?

原文:http://hw1287789687.iteye.com/blog/2230780

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值