Jtabel选中删除
来源:互联网 发布:龙之研究能量矩阵 编辑:程序博客网 时间:2024/05/22 03:50
package jtabelExc;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.event.MouseInputListener;
import javax.swing.table.DefaultTableModel;
public class Demo {
public static JTable table;
public static JPopupMenu popupMenu;
public static void main(String[] args) {
JFrame frame = new JFrame();
popupMenu = new JPopupMenu();
JMenuItem modifyItem = new JMenuItem("Modify");
popupMenu.add(modifyItem);
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] = "张三";
body[i][2] = "男";
}
table = new JTable(new DefaultTableModel(body, tableTitleArray));
final MouseInputListener mouseInputListener = getMouseInputListener(table);// 添加鼠标右键选择行
table.addMouseListener(mouseInputListener);
table.addMouseMotionListener(mouseInputListener);
frame.getContentPane().add(table, BorderLayout.CENTER);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(new Dimension(640, 480));
frame.setVisible(true);
}
/*
* 添加鼠标右键单击选择监听,并显示右键菜单
*/
private static MouseInputListener getMouseInputListener(final JTable jTable) {
return new MouseInputListener() {
public void mouseClicked(MouseEvent e) {
processEvent(e);
}
public void mousePressed(MouseEvent e) {
processEvent(e);
}
public void mouseReleased(MouseEvent e) {
processEvent(e);
if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0
&& !e.isControlDown() && !e.isShiftDown()) {
popupMenu.show(table, 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) {
if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0) {
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);
}
}
};
}
}
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTable;
import javax.swing.WindowConstants;
import javax.swing.event.MouseInputListener;
import javax.swing.table.DefaultTableModel;
public class Demo {
public static JTable table;
public static JPopupMenu popupMenu;
public static void main(String[] args) {
JFrame frame = new JFrame();
popupMenu = new JPopupMenu();
JMenuItem modifyItem = new JMenuItem("Modify");
popupMenu.add(modifyItem);
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] = "张三";
body[i][2] = "男";
}
table = new JTable(new DefaultTableModel(body, tableTitleArray));
final MouseInputListener mouseInputListener = getMouseInputListener(table);// 添加鼠标右键选择行
table.addMouseListener(mouseInputListener);
table.addMouseMotionListener(mouseInputListener);
frame.getContentPane().add(table, BorderLayout.CENTER);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(new Dimension(640, 480));
frame.setVisible(true);
}
/*
* 添加鼠标右键单击选择监听,并显示右键菜单
*/
private static MouseInputListener getMouseInputListener(final JTable jTable) {
return new MouseInputListener() {
public void mouseClicked(MouseEvent e) {
processEvent(e);
}
public void mousePressed(MouseEvent e) {
processEvent(e);
}
public void mouseReleased(MouseEvent e) {
processEvent(e);
if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0
&& !e.isControlDown() && !e.isShiftDown()) {
popupMenu.show(table, 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) {
if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) != 0) {
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);
}
}
};
}
}
0 0
- Jtabel选中删除
- CListCtrl删除选中行
- CListCtrl删除选中行
- CListCtrl删除选中行
- DateGridView删除选中行
- listbox 删除选中项
- Gridview删除选中,编辑
- 删除jqgrid选中行
- datagridview删除选中行
- GridControl 删除选中行
- CListCtrl删除选中行
- stringgrid 删除选中行
- EOS删除选中行
- easyUI 选中批量删除
- 选中按钮删除
- Gridview选中Checkbox后删除选中记录
- J2SE JTabel例子
- 【JTabel】 表头不可拖动
- iOS 高效添加圆角效果实战讲解
- 十个随机数求和
- vb7
- Android官方开发文档Training系列课程中文版:分享文件之请求一个共享文件
- c 语言精简描述
- Jtabel选中删除
- 任意10个整数加和
- 生成10个数求他们的和(2)
- 【BZOJ1009】【HNOI2008】GT考试
- 自定义时间弹出框,并限制最大时间和最小时间
- Android面试常问的技术问题
- [2016.4][微软笔试]Font Size
- 自定义EL函数
- 进程和线程的区别