Java(14)
-
[자바] 현재 실행 중인 위치가 IDE 인지, 아니면 jar 인지 확인하는 방법
작성일 : 2020. 9. 14. [API] getClass().getResource("").getProtocol(); getClass().getResource("") 를 IDE 에서 실행한 경우, "file:/C:/..." 처럼 앞에 `file:` 이 붙으며, getClass().getResource("") 를 jar 에서 실행한 경우, "jar:/..." 처럼 앞에 `jar:` 이 붙는다. 즉, toString() 으로 변환해서 앞에 붙는 문자열을 if 조건에서 검사하거나 Resource 클래스가 지닌 getProtocol() 메서드로 가져오는 방식이 있다. getProtocol() 결과 : file 또는 jar 문자열을 반환함. 출처) Can you tell on runtime if you're r..
2023.08.01 -
[자바] Swing - Flat Look and Feel 적용하기
작성일 : 2021. 5. 15 오랜만에 스윙 애플리케이션을 만들다가 리눅스 그놈 3.0 환경에서 허접한 기본 룩앤필을 보면서 대체물을 찾게 되었다. Flat Laf https://www.formdev.com/flatlaf/ https://github.com/JFormDesigner/FlatLaf Maven Repository 에서 복사해온 디펜던시 ↓ 그리고 GUI 작업을 하기 전에 FlatLightLaf.install() 을 호출하거나, 룩앤필 설정 라인에 UIManager.setLookAndFeel(new FlatLightLaf()) 를 넣으란다. 하지만, cannot find the class 같은 오류가 뜬다. 뭐냐면 FlatLightLaf 클래스를 못찾는다는 소린데 이걸 해결하려고 애를 쓰다가..
2023.08.01 -
[자바] JExcelAPI 컬럼 사이즈 설정 방법
작성일 : 2010. 4. 6. JExcel 라이브러리에서 컬럼 사이즈를 지정하는 방법은 픽셀단위로 사이즈를 지정하는 Swing 컴포넌트와 차이가 있다. 컬럼 내 char 수와 연관이 있으며 소스를 분석하면 deprecated(구 버전이어서 사장된) API의 경우 256 을 곱한 값을 사용하고 있다. 실제로도 50 픽셀을 표현하기 위해서 CellView.setSize() 인자로 50을 주면 기대와 달리 (시각적으로 mm 단위로 표현하고 싶은) 컬럼이 상당히 작게 표현된다. 10 포인트 크기의 한글을 10자 정도 보여줄 수 있게 하려면 20 * 256 (대략 100 픽셀 크기) 을 쓰면 된다. (한글이 MultiBytes 이므로 [글자 수] 곱하기 2를 쓰는 것이다)
2023.05.06 -
[자바] JTable setCellEditor 버그 getCellEditor 로 잡는다.
작성일 : 2009. 10. 20. 지긋지긋하고 징그러운 자바 기술. 스윙버그 피하느라 힘들다. 4년 전부터 고민해오던 부분이다. JTable 에서 특정 컬럼의 에디터로써 JComboBox 를 사용하는 경우 다음과 같은 문제와 맞딱드리게 된다. 1. 열(ROW) 이 달라도 행(COLUMN) 이 같으면 동일한 에디터가 사용된다. 2. 같은 행이지만 각각의 열마다 다른 데이터를 보여주려고 매번 새 JComboBox 를 추가해주어도 편집 이벤트 발생 시 마지막으로 편집한 (행,열)의 Focus 를 물고 있어서 기존 에디터를 보여준다. 특히, 새 에디터를 보려면 JComboBox 를 안쓰는 다른 열을 클릭했다가 다시 클릭해주어야 제대로 보여주기도 한다. 다행히도 setter 의 반대인 getter 를 쓰면 이런..
2023.05.06 -
[자바] JNLP PRINTING
작성일 : 2007. 12. 22. http://java.sun.com/products/javawebstart/download-spec.html 자바 웹 스타트에서도 인쇄를 지원한다. JDK5부터는 기본적으로 포함하지만 1.4는 따로 다운로드해야 한다. http://java.sun.com/products/javawebstart/download-jnlp.html 이 글을 옮기는 시점인 2023. 5. 6. JNLP 는 더 이상 지원하지 않는 기술이다. SUN 과 함께 사라진 추억 속의 기술. 요즘은 웹이 발달해서 일부러 Standalone 프로그램을 PC 에 설치하지는 않는다.
2023.05.06 -
[자바] JDK 설치(JRE 중복 설치?)
작성일 : 2007. 2. 24. J2SE Development Kit(자바 개발자 도구 버전 2; JDK v1.4 이상; 이하 JDK) 일반적으로 JDK를 설치하면 개발에 필요한 JDK와 더불어 JRE(바이트코드 실행환경)가 함께 설치되는데 JDK 디렉토리 내의 JRE와 별도로 바깥에 JRE가 또 설치된다. JDK 설치가 끝날 즈음에 JRE설치 창이 별도로 뜨는데 이 때 [Cancel]버튼을 눌러서 JRE설치를 취소하면 된다. 왜냐하면 JDK에 Public JRE가 내장되어 있기 때문이다. 원래 순수 개발자 킷은 컴파일러와 (C, C++로 치자면) 논리 텍스트로 이루어진 헤더파일로 구성되어 있지만 목적코드가 생성된 후에는 운영체계 상에서 실행하기 위해서 이미 바이너리 화된 라이브러리와 연결해야 되므로 ..
2023.05.06