발표1
DATABACE/MYSQL 2018. 2. 19. 01:00 |chapter17. javaFX.
// 애플케이션을 개발하기 위한 그래픽과 미디어 패키지를 말한다
17.1 java FX 개요
* 자바 UI 변천사
// JavaFX 애플리케이션에서 UI생성, 이벤트 처리, 멀티미디어 재생, 웹 뷰 등과 같은 기능은 JavaFX API로 개발하고 그 외의 기능은 자바 표준 API를 활용해서 개발할 수 있다
17.2 JavaFX 애플리케이션 개발 시작
// JavaFX 애플리케이션을 개발하려면 제일 먼저 메인 클래스를 작성해야 한다.
// 메인 클래스는 JavaFX 애플리케이션을 시작하는 관문이다
17.2.1 메인 클래스
// JavaFX 애플리케이션을 시작시키는 메인 클래스는 Application을 상속받고
// Application에 있는 start() 메소드를 재정의를 해야한다
// start() 메소드는 UI(User Interface : 사람과 사물간의 상호작용)를 생성하고 윈도우를 생성하는 메소드이다
// start() 메소드는 코드에서 직접 호출할 수는 없고, 메인클래스에서 Application이 가지고 있는 메소드인 launch를 호출함으로써, 내부적으로 start() 메소드를 호출하게 해야한다
// JavaFX는 window를 Stage라는 용어로 사용한다
// 매개변수 값으로 제공되는 primaryStage를 show함으로써 윈도우를 보여준다
New > order
17.2.4 무대(Stage)와 장면(Scene)
17.3 java FX 레이아웃
- Scene에는 다양한 컨트롤이 포함되는데 이를 배치하는 것이 레이아웃이다.
// 레이아웃을 작성하는 방법은 두 가지가 있다.
// 하나는 자바 코드로 작성하는 프로그램적 레이아웃이고,
// 다른 하나는 FXML로 작성하는 선언적 레이아웃이다.
17.3.1 프로그램적 레이아웃
- 자바 코드로 UI 컨트롤을 배치하는 것을 말한다
- 자바 코드로만 개발하기 때문에 다른 언어를 익힐 필요가 없다
- 코드를 잘 정리 하지 않으면 난해한 프로그램이 될 확률이 높아진다
- 디자이너와 협력해서 개발하는 것이 어렵다
- 간단한 레이아웃 변경이나 스타일 변경이라도 자바 소스를 수정하고 재 컴파일해야 한다
17.3.2 FXML 레이아웃
- FXML은 XML 기반의 마크업 언어이다.
- JavaFX UI 레이아웃을 자바 코드에서 분리해서 태그로 선언하는 방법을 제공한다.
- 웹 애플리케이션 및 안드로이드(Android) 앱을 개발하는 방법과 유사하다
- 디자이너와 협업이 가능한다
- 간단한 레이아웃 변경이나 스타일 변경시 자바 소스를 수정할 필요가 없다. FXML 태그만 수정하면 된다
- 레이아웃이 비슷한 장면(Scene)들간에 재사용이 가능하다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | package sec03.exam01_programmatical_layout; import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.layout.HBox; import javafx.geometry.Insets; import javafx.scene.control.TextField; import javafx.scene.control.Button; import javafx.scene.Scene; import javafx.collections.ObservableList; public class AppMain extends Application { @Override public void start(Stage primaryStage) throws Exception { HBox hbox = new HBox();//HBox 컨테이너 생성 hbox.setPadding(new Insets(10,10,10,10));//안쪽 여백 설정 hbox.setSpacing(10);//컨트롤간의 수평 간격 설정 TextField textField = new TextField();//TextField 컨트롤 생성 textField.setPrefWidth(200);//TextField의 폭 설정 Button button = new Button();//Button 컨트롤 생성 button.setText("확인");//Button 글자 설정 ObservableList list = hbox.getChildren();//HBox의 ObservableList 얻기 list.add(textField);//TextField 컨트롤 배치 list.add(button); //Button의 컨트롤 배치 Scene scene = new Scene(hbox);//화면의 루트 컨테이너로 HBox 지정 primaryStage.setTitle("AppMain");//윈도우 창 제목 설정 primaryStage.setScene(scene);//윈도우 창에 화면 설정 primaryStage.show();//윈도우 창 보여주기 } public static void main(String[] args) { launch(args); } } | cs |
|
|
17.4 JavaFX 컨테이너
http://kkk-kkk.tistory.com/317
17.3.6 JavaFX Scene Builder
// 자바 코드에 익숙한 개발자들은 자바 코드와 분리된 FXML 파일을 별도로 생성해서 작성해야 하므로 처음에는 불편함을 느낀다
// 오라클은 FXML에 익숙하지 않은 개발자들을 위해 FXML을 자동으로 생성해주는 JavaFX Scene Builder를 제공하고 있따.
'DATABACE > MYSQL' 카테고리의 다른 글
MYSQL 단축키 (0) | 2018.02.27 |
---|---|
발표2 (0) | 2018.02.19 |
Java MySQL 연결을 위한 MySQL Connector 설치방법 (0) | 2018.02.18 |
자바 MySQL SQL문 코딩 방법 (0) | 2018.02.18 |
MySQL 처리과정을 클래스(class)로 만드는 법 (0) | 2018.02.18 |