Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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/3/xpath/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 带有按钮和弹出窗口的一般帮助/建议_Java_Swing_User Interface_Jbutton_Jpopupmenu - Fatal编程技术网

Java 带有按钮和弹出窗口的一般帮助/建议

Java 带有按钮和弹出窗口的一般帮助/建议,java,swing,user-interface,jbutton,jpopupmenu,Java,Swing,User Interface,Jbutton,Jpopupmenu,大家好,提前谢谢 我一直在做一个游戏项目,不,我正在考虑做一个基本的GUI。简而言之,这就是我想要实现的目标: 主要组件是一个J(滚动)面板,用于放置游戏中移动的对象。我希望玩家能够将鼠标悬停在一个物体上,并获得一些与悬停物体位置相关的弹出信息。其次,我希望用户能够用鼠标左键单击对象以“选择”该对象,并能用鼠标右键单击以打开对象旁边的弹出菜单。您应该在面板中添加鼠标侦听器。像这样: panel.addMouseListener(new MouseAdapter() { public voi

大家好,提前谢谢

我一直在做一个游戏项目,不,我正在考虑做一个基本的GUI。简而言之,这就是我想要实现的目标:


主要组件是一个J(滚动)面板,用于放置游戏中移动的对象。我希望玩家能够将鼠标悬停在一个物体上,并获得一些与悬停物体位置相关的弹出信息。其次,我希望用户能够用鼠标左键单击对象以“选择”该对象,并能用鼠标右键单击以打开对象旁边的弹出菜单。

您应该在面板中添加鼠标侦听器。像这样:

panel.addMouseListener(new MouseAdapter() { 
  public void mousePressed(MouseEvent me) { 
    System.out.println(me); 
  } 
});

那么这里的问题是什么?您想知道如何处理swing中的左键和右键单击事件吗?或者你对任何技术都持开放态度,想知道可能的最佳方法?我是GUI的业余爱好者,所以我想知道在构建GUI时从何处开始,应该研究哪些组件。。只是关于如何实现我的目标的一般性建议。好的。。但是如何将鼠标单击与已单击的组件连接起来?我知道的唯一方法是多边形,方法包含();我不认为这是一条路要走;D您想将鼠标侦听器分配到的组件是什么类型的对象?如果您指的是我想单击的对象,那么它实际上什么都不是。。这是我创建的一个类,类似于一艘船只,但仅此而已,上面没有太多图形是的,你们的类包括一个图像吗?如果您不想处理poligon,您可以检查图像帧是否有单击,如果单击帧,则检查此单击是否指向alpha通道我的意思是您应该向面板添加一个侦听器,在该侦听器中,应检查每个组件的鼠标单击坐标与组件图像帧之间的交点。若你们的图像有一个alpha通道(或任何空的地方的标记,所以图像的框架比组件大),监听器也应该检查点击是否精确地指向彩色部分,而不是alpha通道。