게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
JAVA, Runnable에 대해 질문좀 할게요..
게시물ID : programmer_4904짧은주소 복사하기
작성자 : Output
추천 : 0
조회수 : 757회
댓글수 : 9개
등록시간 : 2014/08/08 15:10:55
옵션
  • 본인삭제금지

jframe을 써서 하나의 창을 만들어 버튼1,2를 넣어줍니다.
버튼1은 on, 버튼2는 off.

버튼1을 누를시 runnable이 있는 만들어놓은 클래스를 실행하게 하는데
그 run부분을 무한반복 시켜놨어요
while을 통하여 무한반복시키는데 while(cnt), cnt는 boolean으로 둬서 버튼2를 누를시 cnt=false로 하여 반복종료를 하려하는데

버튼1을 누르면 그대로 jframe창이 멈추네요..
해결방법이 있을까요..소스코드도 첨부할게요

게임하다 단순히 대화창좀 편하게 넘기려하다가...
그냥 해도되긴하는데 왠지 안되니 완성시키고 싶어서 이러네요..

public class main{
public static void main(String[] args){
new k();
}
}

class k extends JFrame implements ActionListener{
mac a;
JButton btn1,btn2;
public k(){
setTitle("Mac");
setSize(190,160);
setLocation(300,300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel();
btn1 = new JButton("On");
btn2 = new JButton("Off");
p.setLayout(new GridLayout(2,1));
p.add(btn1);
p.add(btn2);
add(p);
btn1.addActionListener(this);
btn2.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==btn1){
a = new mac();
System.out.println("!");
}
else if(e.getSource()==btn2){
a.setCnt(false);
}
}
}
class mac extends JFrame implements Runnable{
Robot robot;
boolean cnt;
public mac(){
cnt=true;
try{
robot = new Robot();
}catch(AWTException e){}
this.run();
}
public void run() {
while(cnt){
try{
robot.keyPress(KeyEvent.VK_K);
robot.delay(50);
robot.keyRelease(KeyEvent.VK_K);
robot.delay(50);
}catch(Exception e){}
}
}
public void setCnt(boolean a){
cnt=a;
}
}

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호