JFrame이 닫히지 않음

INeedHelp

2D 물리학을 실험하기 위해 개인 프로젝트를 진행 중입니다. 지금은 초당 60 회 업데이트되도록 JFrame을 설정하려고합니다. 그러나 JFrame 업데이트를 시작하는 메서드를 호출하면 JFrame을 닫을 수 없습니다. 그러나 메서드를 호출하는 부분을 생략하면 JFrame을 닫을 수 있습니다. 다음은 주요 코드입니다.


import javax.swing.JFrame;

import utils.Frame;

public class Engine {

    Frame w;
    
    boolean running = false;
    JFrame f;
    
    public void start() {
        init();
        updater();
    }
    
    public void init() {
        
        w = new Frame();
        
        running = true;
        f = w.create(500, 500, "Work please");
        
    }
    
    public void updater() {
        
        int fps = 60;
        double timePerTick = 1000000000 / fps;
        double delta = 0;
        long now;
        long lastTime = System.nanoTime();
        long timer = 0;

        while (running) {
            now = System.nanoTime();
            delta += now - lastTime;
            timer += now - lastTime;
            lastTime = now;

            if (delta >= timePerTick) {
                //render
                delta -= timePerTick;
            }

        }
    }
    
}

그리고 이것은 Frame의 코드입니다.


import javax.swing.JFrame;

public class Frame {

    public JFrame create(int width, int height, String title) {

        JFrame f = new JFrame();
        f.setSize(width, height);
        f.setTitle(title);
        f.setLocationRelativeTo(null);
        f.setResizable(false);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        
        return f;
    }

}

start ()에서 updater ()를 호출하지 않으면 JFrame을 닫을 수 있습니다. 나는 내가 계속 실행 = 사실이라는 것을 알고 있지만 그것은 내 이전 컴퓨터에서 작동하기 때문에 여전히 닫혀 있어야합니다. 그리고 running = false로 만들어야하더라도 Frame의 f에 WindowListener를 추가하여 이미 시도했습니다. running = false로 만드는 메소드를 호출하지만 어떤 이유로 닫기 버튼을 눌렀을 때 WindowListener가 활성화되지 않습니다. 미리 도와 주셔서 감사합니다. 이것이 도움이된다면 웹 사이트에서 Eclipse IDE의 직접 패키지를 다운로드해야했습니다. 설치 프로그램을 사용할 때마다 모든 프로젝트에 "Failed to init ct.sym ..."오류가 발생하기 때문입니다. 어떤 이유에서인지 JFrame이있는 Java 프로그램을 실행하면 일반적인 Jar 로고 대신 Java 마스코트 "Duke"가 아이콘으로 표시되어 저를 쫓아 냈습니다.

로락 세오 C

프로그램 실행 여부를 제어하는 ​​두 가지 방법이 있는지 확인하십시오.

그러나 다음을 사용하여 두 방법이 모두 동기화되었는지 확인하십시오.

synchronized

-예어.

public synchronized void start() {
    if (running) return;
    running = true;
    thread = new Thread(this);
    thread.start();
}

public synchronized void stop() {
    if (!running) return;
    running = false;
    try {
        thread.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JFrame이 완전히 닫히지 않습니다.

분류에서Dev

GLFW 창이 닫히지 않음

분류에서Dev

탐색 창이 닫히지 않음

분류에서Dev

c # odbcconnection이 닫히지 않음

분류에서Dev

브래킷이 닫히지 않음

분류에서Dev

WinForms 앱이 완전히 닫히지 않음

분류에서Dev

아코디언이 열리지 만 닫히지 않음

분류에서Dev

성공 메시지 후 Ajax 팝업이 닫히지 않음

분류에서Dev

손전등 (토치)이 열리지 만 닫히지 않음

분류에서Dev

링크 페이지에서 mmenu가 닫히지 않음

분류에서Dev

정보 창이 자동으로 닫히지 않음 (Google지도)

분류에서Dev

Spring 데이터베이스 연결이 닫히지 않음

분류에서Dev

Hibernate 데이터 소스 연결이 닫히지 않음

분류에서Dev

파이썬 : kivy 앱이 닫히지 않음

분류에서Dev

다른 v-expansion-panel이 열릴 때 닫히지 않음

분류에서Dev

모바일 메뉴 토글 버튼이 닫히지 않음

분류에서Dev

Core Data에 쓴 후 Swift .sheet 모달이 닫히지 않음

분류에서Dev

코드 유출, 후자 #If 문이 닫히지 않음 전자 #If

분류에서Dev

OSGi에서 DB 연결이 닫히지 않음

분류에서Dev

dispose () 호출시 창이 닫히지 않음

분류에서Dev

최대 절전 모드 : 충돌 후 앱이 닫히지 않음

분류에서Dev

Ajax, 모달 로그인이 닫히지 않음

분류에서Dev

JavaScript onmouseout이 제대로 닫히지 않음

분류에서Dev

NSOpenPanel이 자동으로 닫히지 않음

분류에서Dev

토글 버튼이 닫히지 않음-MVC 5 / Bootstrap 3

분류에서Dev

내 자식 창이 WPF에서 닫히지 않음

분류에서Dev

홈 버튼을 클릭해도 Android 앱이 닫히지 않음

분류에서Dev

bash 스크립트에서 SSH 세션이 닫히지 않음

분류에서Dev

스플래시 창이 닫히지 않음-WPF

Related 관련 기사

뜨겁다태그

보관