Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPopupmenut在linux/Ubuntu下不工作_Java_Linux_Jpopupmenu - Fatal编程技术网

Java JPopupmenut在linux/Ubuntu下不工作

Java JPopupmenut在linux/Ubuntu下不工作,java,linux,jpopupmenu,Java,Linux,Jpopupmenu,我在windows下做一个项目,它工作得很好,但当我把它移到linux时,奇怪的事情开始发生了。但我不会在这篇文章中问更多的问题,让我们从根本不工作的JPopupmenu开始。 在windows下:我有一个JTable和jpopmpmenu,它应该在JTable中可见,我直接从swing添加了JPopupmenu。 以下是触发代码: private void jTable2MouseReleased(java.awt.event.MouseEvent evt) {

我在windows下做一个项目,它工作得很好,但当我把它移到linux时,奇怪的事情开始发生了。但我不会在这篇文章中问更多的问题,让我们从根本不工作的JPopupmenu开始。 在windows下:我有一个JTable和jpopmpmenu,它应该在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中的行大于零时,弹出菜单应该可见。它在windows下工作,但在Linux上不会发生。我错过了什么

好的,我找到了,我必须在JTableMousePressed事件中添加相同的代码,它将正常工作。

好的,我找到了,我必须在JTableMousePressed事件中添加相同的代码,它将正常工作。

Java中的UI依赖于操作系统。请确保在两个操作系统上使用相同的java版本。谢谢,但是没有其他选择吗?我的意思是,任何java版本都可以使用某些东西?现在,这只是一个调查问题的建议。您可以防止java版本之间的差异,比如bug修复。你的情况可能就是这样。我将重新启动windows以检查两个操作系统上的java版本,然后将返回。谢谢不幸的是这不是问题所在。两者在Java中使用openjdk版本“1.8.0_151”UI都依赖于操作系统。请确保在两个操作系统上使用相同的java版本。谢谢,但是没有其他选择吗?我的意思是,任何java版本都可以使用某些东西?现在,这只是一个调查问题的建议。您可以防止java版本之间的差异,比如bug修复。你的情况可能就是这样。我将重新启动windows以检查两个操作系统上的java版本,然后将返回。谢谢不幸的是这不是问题所在。两者都使用openjdk版本“1.8.0_151”