안녕하세요 박스여우입니다. 이번에는 JavaFX를 이용하여 가장 기본적인 버튼 클릭 이벤트를 구현해보도록 하겠습니다. ■ FXML & Controller지난 포스팅때도 말씀드렸다 싶이 JavaFX는 MVC 패턴을 사용하여 View를 FXML과 CSS로, 컨트롤러는 전달된 UI 컴포넌트를 의존성 주입 방식으로 활용하게 됩니다. 따라서 UI를 디자인 하는 디자이너와 프로그램을 개발하는 개발자 사이의 일을 명확하게 구별할 수 있습니다. 이번에는 이런 JavaFX의 기능들을 활용하여 FXML로 UI를 구현하고, 그 UI를 Controller로 다뤄보도록 하겠습니다. ■무작정 따라해보기지난 포스팅에서 진행한 eclipse에서의 JavaFX 셋팅을 진행해 주셔야 이번 과정을 수행하실 수 있습니다.eclipse에서 ..
안녕하세요 박스여우입니다. 오늘은 GUI 개발을 위한 JavaFX에 대해 알아보도록 하겠습니다. ■ Swing은 가라! JavaFX는 기존 Java의 표준 GUI 라이브러리인 Swing을 대체하기 위해 개발되었지만 훨씬 가볍고 강력합니다. GUI에서 컴포넌트를 호출할 때 애니메이션 전환, 흐림 효과나 drop shadow등과 같은 효과(effect)들은 유저 경험에 큰 변화를 만들 수 있는 중요한 요소 입니다. 이러한 요소들은 작고 디테일해서 크게 신경쓰지 않는 부분이지만, 응용 애플리케이션에 도입하게 되면 세련된 UI를 만들 수 있습니다. 이와같은 애니메이션과 전환 효과 등은 Swing으로 구현이 가능하지만 매우 고통스러운 작업을 거쳐야 구현이 가능합니다. 특별한 컴포넌트를 만들기 위해서는 셀 수도 없..
■프로토콜프로토콜은 통신 규칙과 방법입니다. 통신을 원하는 개체간에 무엇을, 어떻게, 언제 통신할 것인가를 정해놓은 규약 입니다. 국제 표준 기구에서 이를 표준화 하여 대부분의 통신 장비들에서는 표준에 맞춘 프로토콜을 사용하고 있습니다. ◆프로토콜의 기능분할 - 큰 용량의 데이터를 전송하기 위해 데이터를 나누는 기능 입니다.재조립 - 분할된 데이터를 사용하기 위해 재조립 하는 기능 입니다.캡슐화 - 데이터에는 계층을 거칠때 마다 헤더가 계층별로 붙게 되는데, 이를 캡슐화라고 합니다.순서 제어 - 전송되는 데이터의 순서를 조율하고 이를 통해 데이터가 중복되거나 유실되는지 체크하는 기능 입니다.흐름 제어 - 송신되는 데이터의 양과 전송률을 제한하는 기능 입니다.오류 제어 - 데이터가 올바르게 수신되었는지 에..
안녕하세요 박스여우입니다.최근 학교의 잔류조사 시스템 개발을 마무리 하고 있는데요, 사감선생님의 편의를 위해 조사된 결과를 엑셀 파일 형태로 출력해야 했습니다. 그래서 오늘은 Java에서 엑셀 파일(xls, xlsx)을 읽고 쓰는 방법을 소개해 드리려고 합니다. ■ Apache POI우선 엑셀파일을 텍스트 파일처럼 읽고 쓸수는 없습니다. 때문에 Java에서 엑셀파일을 다루기 위해 Apache POI 라이브러리를 사용해야 합니다. Apache POI 라이브러리를 다운받기 위해서는 https://poi.apache.org/download.html 요 주소로접속한 뒤에 스크롤을 내리다 보면위와같이 Binary Distribution 항목이 있습니다. 여기에서 빨간색 부분(poi-bin-3.15-beta2-....
안녕하세요 박스여우입니다. 최근 언론사의 웹사이트와 앱을 제작중인데요, 언론사 애플리케이션 특성상 기사마다 이미지가 반드시 하나쯤은 있고, 그 기사들과 이미지들을 불러와 화면에 뿌려줘야 합니다. 하지만, 많은 이미지를 다루다 보니 [dalvikvm-heap: Out of memory on a 772812-byte allocation] 요런 에러, Out Of Memory - OOM이 발생하더군요 ■ 메모리 정리? 원인은 Android 상에서 제공되는 메모리(heap)는 정해저 있지만, 제가 많은 이미지를 사용한 관계로 메모리가 부족한 상황이 발생한 것입니다. 이 때, 메모리를 정리한답시고 사용하지 않는 객체에 null을 지정해 준다고 한들 해당 객체의 메모리가 정리되는게 아니고 정리될 후보가 되는것 입니..
안녕하세요 박스여우입니다.이번에는 카카오톡을 통해 링크와 이미지를 공유하는 방법에 대해 알아보겠습니다. ■ Kakao Developer저희가 사용할 API는 카카오톡에서 제공해 주는 카카오링크 입니다. 카카오링크를 사용하기 위해서는 KakaoDeveloper 로 이동하여 API를 사용할 앱을 등록해야 합니다. 앱 만들기를 클릭하고 등록할 앱의 이름을 입력한 뒤 Create 버튼을 눌러 주세요. 이 때 이름은 자유롭게 적어주시면 됩니다. 그 다음으로 일반>플랫폼>플랫폼 추가 버튼을 눌러 정확한 앱의 정보를 등록합니다. 이번 포스팅에서는 안드로이드를 기준으로 진행하겠습니다. 해당 애플리케이션의 패키지명을 입력하신 뒤 추가 버튼을 누르시면 됩니다. 그럼 이처럼 키 해시 입력란이 비게 되는데요, 키 해시에는 해..