gpt4 book ai didi

Java Swing JTable;右键单击菜单(如何将其设置为 "select"也就是突出显示该行)

转载 作者:IT老高 更新时间:2023-10-28 21:07:03 26 4
gpt4 key购买 nike

简短:我需要一个“右键单击事件”来突出显示单元格行。

我在 Java Swing (Netbeans Matisse) 的 ScrollPane 中使用 JTable。我在 JTable 上有一个 MouseClicked 事件监听器,它执行以下操作:

if (evt.getButton() == java.awt.event.MouseEvent.BUTTON3) {
System.out.println("Right Click");
JPopUpMenu.show(myJTable, evt.getX(), evt.getY())
}

问题是......每当我在 JTable 上执行右键单击时,该行都不会突出显示(我将选择设置为仅行)。我已经寻找了几个 setSelected() 函数,但找不到合适的。默认情况下,左键单击会自动突出显示该行。如何设置右键单击?

最佳答案

像这样:

table.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
int r = table.rowAtPoint(e.getPoint());
if (r >= 0 && r < table.getRowCount()) {
table.setRowSelectionInterval(r, r);
} else {
table.clearSelection();
}

int rowindex = table.getSelectedRow();
if (rowindex < 0)
return;
if (e.isPopupTrigger() && e.getComponent() instanceof JTable ) {
JPopupMenu popup = createYourPopUp();
popup.show(e.getComponent(), e.getX(), e.getY());
}
}
});

......

关于Java Swing JTable;右键单击菜单(如何将其设置为 "select"也就是突出显示该行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3558293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com