자바 gui 프로그램 예제

샘플 프로그램에서 설명해야 할 모든 것에 대해 “종료” 버튼: Platform.exit()를 클릭한 것에 대한 응답입니다. 플랫폼 클래스의 정적 exit() 메서드는 JavaFX 프로그램을 프로그래밍 방식으로 종료하는 데 선호되는 방법입니다. System.exit() 응용 프로그램 스레드를 정리 하 고 종료 하기 전에 응용 프로그램의 stop() 메서드를 호출 하 여 정리 할 수 있는 기회를 제공 하기 때문에 System.exit() 선호 합니다. AWT는 Windows, Mac 및 Linux와 같은 모든 플랫폼에서 실행되는 그래픽 프로그램을 개발하기 위해 플랫폼 독립적이고 장치 독립적인 인터페이스를 제공합니다. Java 코드를 컴파일한 적이 없는 경우 컴파일 및 해석 프로세스를 표시하기 위해 이 기본 코드를 고려하십시오. .NET 컴파일러가 IL 코드와 메타데이터를 내림으로써 CLR에서 메타데이터 테이블을 읽고 형식 안전성(즉, 올바른 데이터 형식이 올바른 메서드로 전달됨)을 확인하므로 JIT 컴파일러는 IL 코드를 실행을 위해 기본 코드로 변환합니다. Java 가상 머신이 있기 때문에 해석이 없습니다. Java 플랫폼은 API(사용 프로그램용 컴파일된 라이브러리 모음 및 ClR과 유사한 JVM)에 의해 정의됩니다. Java 소스 코드 파일은 런타임 실행을 위한 청사진으로 작동하는 클래스 파일이 생성되는 바이트 코드로 컴파일됩니다. 다음은 자바 fx 패키지의 하위 패키지에서 모두 프로그램의 시작 부분에 많은 수의 가져오기입니다.

일반적인 JavaFX 프로그램은 이러한 패키지의 많은 클래스를 사용합니다. 처음으로 JavaFX 클래스에 대해 논의 할 때 일반적으로 제공되는 패키지를 언급 할 것입니다. 그러나 어떤 경우에도 JavaFX API 설명서에서 클래스를 조회할 수 있습니다. 이 글을 쓰면서 최상위 컨테이너에서 찾을 수 있습니다: 프레임, 대화 상자 및 Applet 각 GUI 프로그램에는 최상위 컨테이너가 있습니다. AWT에서 일반적으로 사용되는 최상위 컨테이너는 프레임, 대화 상자 및 Applet: GUI 프로그램에서 구성 요소를 컨테이너에 보관해야 합니다. 구성 요소를 보유할 컨테이너를 식별해야 합니다. 모든 컨테이너에는 add(구성 요소 c)라는 메서드가 있습니다. 컨테이너(예: aContainer)는 aContainer.add(aComponent)를 호출하여 자체적으로 구성 요소를 추가할 수 있습니다. 예를 들어 MyGUIProgram.java 창의 물리적 레이아웃을 설정하는 것 외에도 start() 메서드는 이벤트 처리를 구성합니다. HelloWorldFX에서 사용자가 단추 중 하나를 클릭할 때 이벤트가 발생합니다. 응용 프로그램은 이러한 이벤트에 응답하거나 “처리”하도록 구성되어야 합니다.

이벤트를 처리하려면 두 개의 개체가 포함됩니다. 이벤트 자체는 이벤트에 대한 정보를 포함하는 개체로 표시됩니다. 단추 클릭의 경우 이벤트는 ActionEvent 유형이며 이벤트가 전달하는 정보는 클릭된 단추입니다. 두 번째 개체는 EventHandler 형식이며, 메서드 핸들(e)을 정의하는 기능 인터페이스로 매개 변수 e가 이벤트 개체입니다. 이벤트에 대한 응답을 프로그래밍하려면 EventHandler 인터페이스를 구현하고 handle() 메서드에 대한 정의를 제공하는 클래스를 만들 수 있습니다. 그러나 EventHandler는 기능 인터페이스이므로 처리기를 람다 식으로 지정할 수 있습니다(섹션 4.5 참조). Lambda 표현식은 JavaFX에서 이벤트 처리기를 작성하는 데 매우 일반적으로 사용됩니다. 예를 들어 람다 식 둘째, XxxEvent에 관심이 있는 모든 수신기는 XxxListener 인터페이스를 구현해야 합니다. 즉, 리스너는 XxxListener 인터페이스에 선언된 모든 추상 메서드에 자체 구현(즉, 프로그래밍된 응답)을 제공해야 합니다.

이러한 방식으로 수신기는 이러한 이벤트에 적절하게 응답할 수 있습니다. 아래 프로그램을 보기 전에 직접 코딩해 보십시오. 클래스 계층 구조가 아닙니다. 프로그램의 개체 클래스 간의 관계를 표시 하지 않습니다. 대신 구성 요소가 화면의 다른 구성 요소 내에 포함되는 방법을 보여 주는 제약 계층입니다.