들어가며 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..
들어가며 Java사용시 java.awt.Image 클래스를 Buffered Image로 변환을 해야 하는 상황이 펼쳐졌다. 생각보다 삽질을 하다가 해결을 하였다. 구현방법 Graphics 클래스를 이용하여 image를 BufferedImage로 darw 해주는 방식이다. private BufferedImage imageToBufferedImage(Image im) { BufferedImage bi = new BufferedImage (im.getWidth(null),im.getHeight(null),BufferedImage.TYPE_INT_RGB); Graphics bg = bi.getGraphics(); bg.drawImage(im, 0, 0, null); bg.dispose(); return bi; ..
들어가며 JavaFX Chart 구현시 짧은 주기로 refresh를 하는 경우 메모리 증가량 때문에 문제가 발생하는 경우가 있다. 반드시 발생한다고 볼 순 없지만 대량의 데이터, 짧은 주기일 때 발생할 수 있는 메모리 누수 문제이다. 해결방법 우선 문제 발생 소지가 있는 코드를 보자. Chart의 데이터가 반복적으로 업데이트가 되어 데이터 전체가 업데이트 되고 있는 것을 볼 수 있다. 해당 코드는 아주 짧은 시간마다 반복되는 코드라고 가정 private void update(XYChart.Series series) { myChart.getData().setAll(dataSeries); } 메모리 누수를 방지하기 위해선 아래의 chart를 clear하는 동작을 추가해주면 된다. private void up..
들어가며 Mac에서 특정 IP를 호스트 네임으로 접속하기 위해한 방법을 알아보고자 한다. 설정 방법 Mac에서 특정 IP를 호스트 네임으로 접속하려면 Mac의 hosts 파일을 수정해야 한다. 1. 터미널 실행 2. 에디터를 통해서 호스트 파일 열기 sudo nano /private/etc/hosts 3. 원하는 호스트 네임 추가 4. 저장 후 설정 갱신 dscacheutil /flushcache 끝으로 이 글이 도움이 되었다면, 하단의 Google 광고 👎👎👎 한번씩 클릭 부탁 드립니다. 🙏🙏🙏 광고 클릭은 많은 힘이 됩니다!
들어가며 Java Application을 개발하다 보면 동일한 프로그램이 중복 실행되는 것을 막는 기능이 필요할 떄가 있다. 이때 프로그램에 port를 점유하게 하여 중복 실행을 막는 방법을 공유하고 한다. 방법 Service 형태로 클래스를 하나 만든 뒤에 ServerSocket 클래스를 통해서 port를 점유하도록 한다. 아래 Service는 Application이 종료될 때까지는 유지 되기 때문에 중복 실행시 이미 port가 점유되어 있기 때문에 중복 체크를 할 수가 있다. public class MultipleRunLockService { private ServerSocket serverSocket; public void process(int port) { try { serverSocket = n..
들어가며 SpringBoot로 Web Application 개발시에 WebServer (서블릿 컨테이너의) port 설정 방법을 알아보고자 한다 방법 application.properties 파일에 아래와 같이 지정을 해주면 된다. 0은 가용가능한 포트중 random 하게 설정을 해줌 Server.port = 8080 //가용가능한 port 중에서 random 하게 설정하려고 할 때 Server.port = 0 관련글 [SpringBoot] Jackson 사용시 Could not write JSON: No serializer found for class.. 오류 발생 해결법 들어가며 Class를 Serialize 하는 과정에서 아래와 같은 에러가 발생하였다. Exception in thread "Thre..
SpringBoot 로깅 레벨 수정 SpringBoot에서 사용하는 외부 클래스, 라이브러리의 로깅 레벨을 수정하고자 했다. 방법 application.properties 파에 아래와 같이 적어준다. 'logging.level' 이후에 로깅 클래스의 package 경로를 적어준 뒤에 Log Level을 명시해주면 된다. logging.level.org.springframework.web.socket.messaging = ERROR, INFO logging.level.org.springframework.web.SimpLogging = DEBUG 끝으로 이 글이 도움이 되었다면, 하단의 Google 광고 👎👎👎 한번씩 클릭 부탁 드립니다. 🙏🙏🙏 광고 클릭은 많은 힘이 됩니다!
들어가며 STOMP를 사용하여 SpringBoot WebSocket 어플리케이션을 개발하면서 Server에서 Client로 특정 메시지를 BroadCast 해줘야 하는 상황이 있었다. 구현 방법 메시지를 보내고자 하는 위치에서 SimpMessagingTemplate 객체를 주입받아 아래와 같이 사용을 해주면 된다. @Service public class MessageSender { @Autowired private SimpMessagingTemplate brokerMessagingTemplate; public void sendMessage(String message) { this.brokerMessagingTemplate.convertAndSend("/topic/greetings/", message); ..
- Total
- Today
- Yesterday
- 스프링부트
- 자전거
- java
- 텐트
- 배낭 여행
- 자전거 여행
- JavaFX 종료
- effectivejava
- 이펙티브
- 이펙티브 자바
- intelij
- 일본 자전거 여행
- 이펙티브자바
- 배낭여행
- 일본 여행
- TableView
- 자바
- 일본여행
- windows
- git
- JavaFX Window Close
- Java UI
- effective java
- JavaFX Table View
- 일본 배낭여행
- springboot
- 인텔리제이
- JavaFX 테이블뷰
- 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 |