Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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 弹出菜单出现在JFrame的其他位置_Java_Swing_Netbeans - Fatal编程技术网

Java 弹出菜单出现在JFrame的其他位置

Java 弹出菜单出现在JFrame的其他位置,java,swing,netbeans,Java,Swing,Netbeans,我有多个文本字段和文本区域的Jframe,我想向Jtextfields和Jtextareas添加复制粘贴功能。正如你们在图片中看到的,当我右键点击产品名称字段时,它显示了复制粘贴在框架上的其他地方 这是我添加到textfield的事件 private void jTextField1MouseReleased(java.awt.event.MouseEvent evt) { if(evt.isPopupT

我有多个文本字段和文本区域的Jframe,我想向Jtextfields和Jtextareas添加复制粘贴功能。正如你们在图片中看到的,当我右键点击产品名称字段时,它显示了复制粘贴在框架上的其他地方

这是我添加到textfield的事件

private void jTextField1MouseReleased(java.awt.event.MouseEvent evt) {                                          
    if(evt.isPopupTrigger())
  {
       jPopupMenu1.show(this,evt.getX(),evt.getY());
  }
}   
MouseEvents是上下文的,也就是说,MouseEvent指定的位置是生成事件的组件的本地位置

尝试使用

jPopupMenu1.show(evt.getComponent(), evt.getX(),evt.getY());

相反,也可以使用JComponent.setComponentPopupMenumeu

哦,天哪,我也忘了添加这个。为了更快地获得更好的帮助,请发布一个最小的完整且可验证的示例。我相信我发布了MCVE示例,请查看google drive链接,我不知道它有多简单!我相信我发布了MCVE示例。。作为将来的参考,人们通常不关注链接。如果是MCVE,可以直接在问题中发布…我不太专业。。高代表性,所以不能使某人成为专业人士。。这是我的第15个帐户,我将被禁止。。古怪的你这么说好像这是我的问题。当人们生气的时候,他们就不会再访问这个网站了。LOL。最近,为了阻止大量的新手涌入,这些糟糕的问题似乎把它拖进了“信号到噪音”的“噪音”部分。如果你被禁止,那么你很可能问了一些糟糕的问题。我的建议是改进您的问题,而不是抱怨。好吧,但如何将其添加到jframe上单击的所有组件中,我已经在jframe上创建了鼠标释放事件,您的代码仍然不会影响jtextfields和Area A MouseListener只为其注册的组件引发事件。如果您想为每个组件执行此功能,那么您需要为您感兴趣的每个组件添加一个鼠标侦听器来提供支持。大约现在,我将创建一个自定义MouseListener类来封装此功能,创建一个实例并将其添加到每个组件中。您有一些示例吗?实际上,复制粘贴的功能类似于jtextField.getText;并指定给类中的全局值?然后把它粘贴到其他地方,还有当我从jframe复制东西时,它会粘贴到我在windows上打开的任何记事本上吗?例如,如何管理它?