关于JTable的右键菜单!急啊 一个JTable,我写了个右键菜单,刚打开的时候是可以正确显示菜单的,可是当我点击鼠标左键进入某一单元格之后,再按鼠标右键就无法显示菜单了,而且我发现这个时候根本就不能触发table的鼠标事件。请问有什么好办法吗??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.BorderLayout;import java.awt.Component;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.*;import javax.swing.table.TableCellEditor;public class T { public static void main(String[] args) { final JPopupMenu popup = new JPopupMenu(); popup.add(new JMenuItem("MenuItem-1")); popup.add(new JMenuItem("MenuItem-2")); popup.add(new JMenuItem("MenuItem-3")); final MouseListener ml = new MouseAdapter() { public void mouseReleased(MouseEvent e) { if (e.getButton() == MouseEvent.BUTTON3) { Component c = e.getComponent(); popup.show(c, e.getX(), e.getY()); } } }; JTable table = new JTable(5, 5) { public Component prepareEditor(TableCellEditor editor, int row, int column) { Component edComp = super.prepareEditor(editor, row, column); edComp.removeMouseListener(ml); edComp.addMouseListener(ml); return edComp; } }; JScrollPane sp = new JScrollPane(table); table.addMouseListener(ml); JFrame f = new JFrame(); f.getContentPane().add(sp, BorderLayout.CENTER); f.pack(); f.setLocationRelativeTo(null); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); }} 有关正则表达式问题 mysql进不去了 Java运行中时间同步的问题 java 如何判断操作系统是Linux还是Windows? 为什么jdk1.5新特性用不了? 500 分请教高手问题:如何使用IE和操作系统中存储的用户名和密码?? UP者有分! 大家都来关注!(UP都有分) 急问:请问在JBuilder里如何将源文件编译为.exe文件??? 帮我看看RMI问题! 为什么只能给20分呢?怎么给回复者加分呢? applet跟servlet之间通讯异常,请帮忙看看! 请部,Graphics2D中,如何设置打印边距?
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;import javax.swing.*;
import javax.swing.table.TableCellEditor;public class T {
public static void main(String[] args) {
final JPopupMenu popup = new JPopupMenu();
popup.add(new JMenuItem("MenuItem-1"));
popup.add(new JMenuItem("MenuItem-2"));
popup.add(new JMenuItem("MenuItem-3"));
final MouseListener ml = new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON3) {
Component c = e.getComponent();
popup.show(c, e.getX(), e.getY());
}
}
}; JTable table = new JTable(5, 5) {
public Component prepareEditor(TableCellEditor editor, int row, int column) {
Component edComp = super.prepareEditor(editor, row, column);
edComp.removeMouseListener(ml);
edComp.addMouseListener(ml);
return edComp;
}
};
JScrollPane sp = new JScrollPane(table);
table.addMouseListener(ml);
JFrame f = new JFrame();
f.getContentPane().add(sp, BorderLayout.CENTER);
f.pack();
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}