2015-01-03 5 views
1

미니 게임을위한 일시 중지 화면을 만들고 싶습니다. 이를 위해 esc 버튼을 누르면 Resume (다시 시작), Options (옵션) 및 Exit (종료)와 같은 그림이 나타납니다. 내 MouseInput 클래스에서 mousePressed 메서드입니다. 버튼의 위치에서 마우스를 누르면 뭔가가 일어납니다. 나는 이미 절반을 만들었지 만 나머지는 모른다. 방법은 이제 상자의 모서리를 사용합니다. (죄송합니다 내 영어 나쁜 경우)JButton없이 버튼을 만드는 Java MouseListener

메뉴 모음은 다음과 같이해야합니다 ("게임"에서의 스크린 샷.)
http://puu.sh/e1b6v/79682e61f4.PNG

enter image description here

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) { 

} 

} 
+0

메뉴를 그릴 때 RoundRectangle2D와 같은 도형을 사용합니까? – RealSkeptic

답변

1

위치는 한 지점이 아닌 범위 여야합니다. 범위의

예 :

if (mx >= 154 || mx<=200 && my >= 160 && my<= 200) { 
    System.out.println("Resume"); 
} 
+0

'if (mx == 154 && my == 160)'이라고 쓸 때, 프로그램은 마우스가 정확한 점 (154, 160)을 눌렀는지 확인합니다. 대답과 마찬가지로 단추의 전체 영역에있는 점이 눌려지면 프로그램이 검사하기 때문에 점의 범위를 확인해야합니다. – Sierox

+0

도움을받은 친구. – Dragonbone

0

당신은 버튼에의 MouseListener를 추가해야합니다.