关于给JTable添加监听器 想要添加点击鼠标右键弹出菜单,然后实现删除功能,不知道怎么给JTable添加监听器 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 查查api里,addactionlisten。。好像是这个吧还有类似的方法、 final JPopupMenu popupMenu = new JPopupMenu(); JMenuItem deleteRow = new JMenuItem("delete"); popupMenu.add(deleteRow); deleteRow.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO } }); jTable.add(popupMenu); jTable.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { // 右键事件 if (MouseEvent.BUTTON3 == e.getButton()) { popupMenu.show(jTable, e.getPoint().x, e.getPoint().y); } } }); import java.awt.*;import java.awt.event.*;import javax.swing.*;public class JTableFrame extends JFrame{ private Object[][] data = new Object[][] {{1, 2, 3}, {4, 5, 6}}; private Object[] columns = new Object[] {"一", "二", "三"}; private JTable table = new JTable(data, columns); private JPopupMenu popup = new JPopupMenu(); private JMenuItem itemDelete = new JMenuItem("删除"); public JTableFrame() { popup.add(itemDelete); itemDelete.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { table.setValueAt(null, table.getSelectedRow(), table.getSelectedColumn()); } }); table.setRowSelectionAllowed(true); table.setColumnSelectionAllowed(true); table.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent event) { if (event.getButton() == MouseEvent.BUTTON3) { int row = table.rowAtPoint(event.getPoint()); int col = table.columnAtPoint(event.getPoint()); table.setRowSelectionInterval(row, row); table.setColumnSelectionInterval(col, col); popup.show(table, event.getX(), event.getY()); } } }); add(new JScrollPane(table)); } public static void main(String[] args) { JFrame frame = new JTableFrame(); frame.pack(); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }} 谈java序列化(Serializable) 向JAVA游戏开发进军应学些什么 画图 求Java编写的一个类似Word(文字编辑器)代码 我是初学者,一个java程序,有点问题,我没检查出来,哪位能帮我看看? 用 javamial发邮件时,右下角会出现进度条,怎么才能不让他显示呢? 麻烦各位大哥大姐帮我解决JAVA打包的问题,内容如下: java程序中如何实现文字自右向左滚动效果? indexOf()小问题求教 提示:包javax.media 不存在,请问怎样设置CLASSPATH? 小弟请教个关于子类父类和泛型的问题~ 是谁偷走了我的图片文件夹?
final JPopupMenu popupMenu = new JPopupMenu();
JMenuItem deleteRow = new JMenuItem("delete");
popupMenu.add(deleteRow);
deleteRow.addActionListener(new ActionListener()
{ @Override
public void actionPerformed(ActionEvent e)
{
// TODO
}
});
jTable.add(popupMenu);
jTable.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent e)
{
// 右键事件
if (MouseEvent.BUTTON3 == e.getButton())
{
popupMenu.show(jTable, e.getPoint().x, e.getPoint().y);
}
}
});
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class JTableFrame extends JFrame
{
private Object[][] data = new Object[][] {{1, 2, 3}, {4, 5, 6}};
private Object[] columns = new Object[] {"一", "二", "三"};
private JTable table = new JTable(data, columns);
private JPopupMenu popup = new JPopupMenu();
private JMenuItem itemDelete = new JMenuItem("删除");
public JTableFrame()
{
popup.add(itemDelete);
itemDelete.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
table.setValueAt(null, table.getSelectedRow(), table.getSelectedColumn());
}
});
table.setRowSelectionAllowed(true);
table.setColumnSelectionAllowed(true);
table.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent event)
{
if (event.getButton() == MouseEvent.BUTTON3)
{
int row = table.rowAtPoint(event.getPoint());
int col = table.columnAtPoint(event.getPoint());
table.setRowSelectionInterval(row, row);
table.setColumnSelectionInterval(col, col);
popup.show(table, event.getX(), event.getY());
}
}
});
add(new JScrollPane(table));
}
public static void main(String[] args)
{
JFrame frame = new JTableFrame();
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}