我在Windows下正在开发一个项目,它运行得很好,但当我把它移到linux时,奇怪的事情开始发生了。但是我不会在这一个问题中提出不止一个问题,让我们从JPopupmenu开始根本不工作。 在Windows下:我有一个JTable和JPopupmenu应该在JTable中可见,我直接从swing添加了JPopupmenu。 这是触发器代码:
private void jTable2MouseReleased(java.awt.event.MouseEvent evt) {
if (evt.isPopupTrigger()) {
int rows = jTable2.getRowCount();
if(rows>0){
JTable source = (JTable) evt.getSource();
int row = source.rowAtPoint(evt.getPoint());
int column = source.columnAtPoint(evt.getPoint());
if (!source.isRowSelected(row)) {
source.changeSelection(row, column, false, false);
}
jPopupMenu1.show(evt.getComponent(), evt.getX(), evt.getY());
}
}
}
如代码所示:当JTable中的行大于零时,Popupmenu应该是可见的。它在Windows下工作,但在Linux上发生的事情。我在这里想念的是什么?
答案 0 :(得分:0)
好的我发现了,我必须在JTableMousePressed事件中添加相同的代码,它将按预期工作。