들어가며 JavaFX ScrollBar에 대해서 알아보도록 하겠습니다. ScrollBar는 말 그대로 스크롤 기능을 지원하는 컨트롤입니다. 사실 스크롤바를 직접 사용할 일은 그렇게 많지는 않을 것 같긴하지만 .. 가끔 커스텀 컨트롤을 구현할 때 유용하게 쓰이니 알아두면 좋습니다. 개념 ScrollBar 수평, 수직의 막대형태의 컨트롤로 증가, 감소 버튼과 'Thumb'라 불리는 스크롤을 이동하면서 유저와 상호작용합니다. 일반적으로는 단독으로 사용되지는 않습니다. (이번 포스트에서는 직접 사용해보겠습니다..) 일반적으로는 ScrollPane 나 ListView 와 같은 컨트롤에 포함된 형태로 사용이 됩니다. ScrollBar 생성 예제 import javafx.scene.control.ScrollBar; ..
들어가며 JavaFX Spinner에 대해서 알아보겠습니다. Spinner는 ComboBox와 비슷하지만 드롭다운이 없이 현재 데이터 값을 나타내며 증가, 감소 버튼으로 값을 변경할 수 있는 컨트롤 입니다. 순차적인 데이터(수치등)를 나타낼 때 주로 사용합니다. 개념 Spinner Spinner는 정렬되어 있는 값(숫자, 객체)을 선택할 수 있는 단일 행 텍스트 필드입니다. 숫자, 객체 값을 단계적으로 선택할 수 있는 화살표(Up, Down) 버튼을 제공합니다. 값을 직접 입력할 수도 있고 키보드 위 아래 키로도 입력 가능함 ComboBox도 유사한 기능을 제공하지만 Spinner는 중요한 데이터를 모호하게 할 수 있는(?) DropDown 목록이 필요하지 않습니다. 또한 Spinner는 다른 많은 Ja..
들어가며 JavaFX Application 개발 시 Window를 Close했을 때 (X 버튼 클릭시) 내부 프로세스는 종료되지 않습니다. 이럴 때 프로세스까지 종료하는 방법을 알아보도록 하겠습니다. 해결 방법 먼저 Window Close 이벤트 시점을 알기 위해서 Listener를 추가해줍니다. stage.setOnCloseRequest(event -> { //Close 버튼 클릭 시 호출됨 //windowContainer.showClosingPopup("Exit"); terminate(); }); //Close 버튼 클릭 시 종료 메시지 팝업으로 전시 (필요에 따라 추가) public void showClosingPopup(String closingTitle) { Alert alert = new Al..
들어가며 JavaFX Chart 구현시 짧은 주기로 refresh를 하는 경우 메모리 증가량 때문에 문제가 발생하는 경우가 있다. 반드시 발생한다고 볼 순 없지만 대량의 데이터, 짧은 주기일 때 발생할 수 있는 메모리 누수 문제이다. 해결방법 우선 문제 발생 소지가 있는 코드를 보자. Chart의 데이터가 반복적으로 업데이트가 되어 데이터 전체가 업데이트 되고 있는 것을 볼 수 있다. 해당 코드는 아주 짧은 시간마다 반복되는 코드라고 가정 private void update(XYChart.Series series) { myChart.getData().setAll(dataSeries); } 메모리 누수를 방지하기 위해선 아래의 chart를 clear하는 동작을 추가해주면 된다. private void up..
들어가며 이전에 썼던 글인 JavaFX TableView 사용법 이 시간이 지나서 보니 조금 설명이 허접한 것 같기도 하고.. 리뉴얼이 필요할 것 같았다. [JavaFX] Table View 사용법 Table View 사용법 이번 시간에는 JavaFX의 Table View 사용법에 대해서 알아보도록 하겠습니다. 일단 Table View를 fxml코드에서 생성해보겠습니다. ■ TableView 생성 * 참고로 모든 소스파일들은 하나의 안에.. jinseongsoft.tistory.com 원본 소스는 아래 위치에 있습니다. rlawlstjd0077/JavaFxPlayGround Contribute to rlawlstjd0077/JavaFxPlayGround development by creating an a..
들어가며 JavaFX를 사용하면서 UI를 테스트할 일이 종종 있는데 Test Code 상에서 UI를 전시하는 방법에 대해서 소개하고자 한다. 방법 UITest.java public class UITest extends Application { @Test public void test() { launch(); } @Override public void start(Stage primaryStage) throws IOException { //UI 전시 코드 작성 TimerController controller = new TimerController(); primaryStage.setScene(new Scene(controller)); primaryStage.setTitle("Timer Test"); prima..
들어가며 JavaFX를 이용해 실시간으로 업데이트되는 Timer 컨트롤을 구현해보고자 합니다. 원본 소스는 아래 위치에 있습니다. rlawlstjd0077/JavaFxPlayGround Contribute to rlawlstjd0077/JavaFxPlayGround development by creating an account on GitHub. github.com 구현 Timer.fxml 따로 CSS는 없어서 디자인 좀 구립니다.. 시각이 표현될 TextView를 Rectangle을 이용하여 만들어 줍니다. fx:root가 궁금하다면 아래 글 참고
란 JavaFX 2.2에 새로 추가된 .fxml 파일 작성 사용하는 root Tag이다. contents... 를 사용하게 되면 FXML로 재사용 가능한 컴포넌트를 작성하는 데 도움을 준다고 한다. 재사용성? 예를 들어, HBox안에 TextField와 Button이 들어 있는 컨포넌트를 작성한다고 해보자.(fx:root 사용 하지 않고) 그럼 아래와 같이 작성할 수 있을 것이다. VBox vbox = new VBox(); vbox.getChildren().add(new MyComponent()); 그리고 MyComponent Java Class는 아래와 같이 작성할 것이다. public class MyComponent extends HBox { private TextField textField ; pr..
- Total
- Today
- Yesterday
- Java UI
- TableView
- 인텔리제이
- 일본 여행
- 텐트
- 일본 자전거 여행
- effectivejava
- JavaFX 종료
- 이펙티브
- 배낭 여행
- 방통대 과제물
- 이펙티브자바
- 자전거
- 일본 배낭여행
- intelij
- springboot
- 자전거 여행
- java
- 일본여행
- JavaFX Table View
- JavaFX Window Close
- JavaFX 테이블뷰
- effective java
- 자바
- windows
- 배낭여행
- git
- 이펙티브 자바
- JavaFX
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |