Java MouseListener 在没有 JButton 的情况下创建 Button
Java MouseListener creating a Button without JButton
我想为我的 mini-game 创建一个暂停屏幕。为此,您按下 esc 按钮,将出现一张带有以下按钮的图片:Resume、Options 和 Exit。在我的 MouseInput-class 中,是 mousePressed 方法。我只是想,如果我在按钮的位置按下鼠标,就会发生一些事情。我已经做了一半,但我不知道剩下的。该方法现在只会使用盒子的一角。(抱歉,如果我的英语不好)
菜单应如下所示(来自 "game" 的屏幕截图)
http://puu.sh/e1b6v/79682e61f4.PNG
package de.dragonbone.rpg.input;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class MouseInput implements MouseListener {
int mx;
int my;
@Override
public void mouseClicked(MouseEvent arg0) {
}
@Override
public void mouseEntered(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mousePressed(MouseEvent e) {
mx = e.getX();
my = e.getY();
if (mx == 154 && my == 160) {
System.out.println("Resume");
}
System.out.println("X= " + mx + " Y= " + my);
}
@Override
public void mouseReleased(MouseEvent arg0) {
}
}
位置应该是一个范围而不是一个点。
范围示例:
if (mx >= 154 || mx<=200 && my >= 160 && my<= 200) {
System.out.println("Resume");
}
你必须给按钮添加 mouselistener。
class MyMouseListener extends MouseAdapter
{
@Override
public void mousePressed(MouseEvent me)
{
JButton jb=(JButton)me.getSource();
String str=jb.getActionCommand();
if(str.equals("Resume"))
System.out.println("Resumed");
.....
.....
}
}
JButton resume=new JButton("Resume");
resume.addMouseListener(new MyMouseListener());
我想为我的 mini-game 创建一个暂停屏幕。为此,您按下 esc 按钮,将出现一张带有以下按钮的图片:Resume、Options 和 Exit。在我的 MouseInput-class 中,是 mousePressed 方法。我只是想,如果我在按钮的位置按下鼠标,就会发生一些事情。我已经做了一半,但我不知道剩下的。该方法现在只会使用盒子的一角。(抱歉,如果我的英语不好)
菜单应如下所示(来自 "game" 的屏幕截图)
http://puu.sh/e1b6v/79682e61f4.PNG
package de.dragonbone.rpg.input;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class MouseInput implements MouseListener {
int mx;
int my;
@Override
public void mouseClicked(MouseEvent arg0) {
}
@Override
public void mouseEntered(MouseEvent arg0) {
}
@Override
public void mouseExited(MouseEvent arg0) {
}
@Override
public void mousePressed(MouseEvent e) {
mx = e.getX();
my = e.getY();
if (mx == 154 && my == 160) {
System.out.println("Resume");
}
System.out.println("X= " + mx + " Y= " + my);
}
@Override
public void mouseReleased(MouseEvent arg0) {
}
}
位置应该是一个范围而不是一个点。
范围示例:
if (mx >= 154 || mx<=200 && my >= 160 && my<= 200) {
System.out.println("Resume");
}
你必须给按钮添加 mouselistener。
class MyMouseListener extends MouseAdapter
{
@Override
public void mousePressed(MouseEvent me)
{
JButton jb=(JButton)me.getSource();
String str=jb.getActionCommand();
if(str.equals("Resume"))
System.out.println("Resumed");
.....
.....
}
}
JButton resume=new JButton("Resume");
resume.addMouseListener(new MyMouseListener());