고급 JAVA
-
javaFX - CSS스타일 (외부 CSS스타일 : 선택자, css파일 적용)고급 JAVA/FX 2020. 5. 23. 12:25
외부 CSS 스타일 인라인 스타일보다 중복 코드를 줄이고, 재사용성을 높이면서 유지보수도 편리한 방법. 선택자 중괄호 {} 에 정의된 CSS 속성을 적용할 컨테이너 or 컨트롤을 선택하는 역할. 외부 CSS파일은 스타일을 적용할 컨테이너와 컨트롤을 선택해주는 선택자가 필요. 선언 방법 선택자 { 속성 : 값; 속성 : 값; } 선택자 작성 방법 Type 선택자 Type { 속성:값; 속성:값;} id 선택자 #id { 속성:값; 속성:값;} class 선택자 .class { 속성:값; 속성:값;} HTML에서 CSS 적용방법과 큰 차이 X ex) /* 전체 Label 선택 */ Label { -fx-padding: 5; } /* id="blog" 을 가진 컨트롤 선택 */ #blog { -fx-backg..
-
javaFX - CSS (inline 스타일)고급 JAVA/FX 2020. 5. 23. 12:22
javaFX CSS 스타일 JavaFX UI를 담당하는 컨트롤러와 컨트롤은 HTML에 CSS를 적용하는 것처럼 CSS를 적용할 수 있다. HTML에 적용할 때와 다른 점 : 속성명 앞에 "-fx-" 가 붙음. JavaFX의 기본 CSS 는 modena.css에 작성되어 있음. 기본 CSS 대신 다른 모양이나 색깔을 주고 싶으면 커스텀 CSS 를 정의해면 됨. 커스텀 CSS : 기본 CSS를 오버라이딩해서 기본 속성을 변경 or 새로운 석성을 정의한 것. 정의하는 방법 1. inline 스타일로 컨테이너 or 컨트롤의 style 속성을 이용하여 CSS에 직접 적용. 2. 외부 CSS 파일을 생성해서 Scene에 적용 ex) .
-
JavaFX - 차트 컨트롤고급 JAVA/FX 2020. 5. 23. 11:58
차트 컨트롤 차트 컨트롤들은 javafx.scene.chart 패키지에 포함되어 있고, 다양항 차트를 생성하는 컨트롤을 제공함. 종류 : PieChart, LineChart, AreaChart, BarChart, BubbleChart, ScatterChart PieChart : 끝! X축과 Y축이 없으므로 정의할 필요 X LineChart,AreaChart,BarChart 는 X축과 Y축의 정의가 필요! ex) BarChart X축이 위 아래 있고, Y축이 좌우에 있다 => 눈금을 나타낼 위치를 지정해야함. // 분류 눈금을 아래 축에 나타냄. // 숫자 눈금을 왼쪽 축에 나타냄. 컨트롤러는 DB나 네트워크에서 차트의 데이터를 전달받아 차트컨트롤에 추가함. ex) pieChart.setData(FXCol..
-
javaFX - view 컨트롤 (ImageView, ListView, TableView)고급 JAVA/FX 2020. 5. 22. 19:36
ImageView 컨트롤 - 이미지를 보여주는 컨트롤 FXML에서 선언 preserveRatio : 이미지의 가로세로 비율을 유지할지 여부 지정. false 이면 : fitWidth와 fitHeight 크기에 이미지가 맞춰진다. true 이면 : ImageView의 크기가 조절된다. 이미지 보여주는 방법 1. 2. 의 url의 속성은 FXML 파일 위치에서 상대경로로 "@이미지경로"를 지정해주면 됨. ListVIew 컨트롤 - 항목들을 목록으로 보여주는 컨트롤 ListView에 항목을 추가할 때는 : setItems(ObservableList value) 메서드를 사용. ObservableList 구현 객체는 FXCollections.observableArrayList(E... items) 정적 메서드를..
-
javaFX - 입력 컨트롤고급 JAVA/FX 2020. 5. 22. 19:30
TextField - 한 줄 입력 TextArea - 다중 행 입력 PasswordField - 패스워드 입력 ComboBox - 제한된 항목 입력 DatePicker - 날자 선택 ColorPicker - 색상 선택 HTMLEditor - HTML 입력 Label - 입력 컨트롤의 제목을 표시할 때 FXML로 입력 컨트롤 선언 방법 promptText="힌트문자열" : 컨트롤이 포커스를 얻으면 사라짐. 예제 예제) FXML 자바1) package thisisjava; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import j..
-
javaFX 컨트롤 - 버튼 컨트롤고급 JAVA/FX 2020. 5. 22. 19:27
javaFX 컨트롤 - JavaFX 는 다양한 UI 컨트롤을 제공함. 1) 버튼 컨트롤 마우스로 클릭할 수 있는 컨트롤, ButtonBase를 상속하는 하위 컨트롤을 말함. [Button, CheckBox, RadioButton, ToggleButton, Hyperlink] 등이 있음. button : 글자로 구성되어 있지만, ImageView를 매개값으로 setGraphic() 메서드를 호출하면 아이콘을 넣을 수 있음. CheckBox, RadioButton, ToggleButton 선택과 미선택 두 가지 상태를 가질 수 있음. selected 속성의 값이 true이면 선택, false이면 미선택임.'' ex) RadioButton, ToggleButton ToggleGroup 속성이 있어서 같은 To..
-
javaFX 속성 바인딩고급 JAVA/FX 2020. 5. 22. 19:22
속성 바인딩 : JavaFX 속성은 다른 속성과 바인딩될 수 있음 => 바인딩된 속성들은 하나가 변경되면 자동으로 다른 하나도 변경됨. ex) 두 개의 TextArea 컨트롤이 있고 text 속성들을 바인딩하면 사용자가 한쪽에 TextArea에 내용을 입력했을 때 다른 쪽의 TextArea에도 동일한 내용이 자동 입력됨. TextArea ta1 = new TextArea(); TextArea ta2 = new TextArea(); ta2.textProperty().bind(ta1.textProperty()); *bind() 메서드는 단방향이다. 위 코드대로라면 ta1->ta2만 되고, ta2->ta1은 불가능. ta2에는 아예 입력조차 불가. 양방향 바인딩을 하고 싶을 때 : bind() 대신에 bind..
-
javaFX 이벤트 핸들러고급 JAVA/FX 2020. 5. 22. 19:16
ex1) ActionEvent 를 처리하는 EventHandler를 등록하려면 => setOnAction()메서드 사용 Button b = new Button(); b.setOnAction(new EventHandler(){ @Override public vod handle(ActionEvent ae) { ... } }); ex2) TableView 행을 클릭할 때 발생하는 MouseEvent를 처리하는 EventHandler를 등록하려면 => setOnMouseClicked() 메서듣 사용 TableView tv = new TableView(); tv.setOnMouseClicked(new EventHandler(){ @Override public void handle(MouseEvent me) { ...