목록개발/JAVA (15)
khstar
Jdk를 8 -> 17로 올린 후에 제목과 같은 에러가 발생했습니다. OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 내용을 찾아 보면 JDK 1.8 이후에 추가된 기능으로 클래스 로딩 시 Class Data Sharing(CDS) 기능을 사용하면 발생한다고 합니다. 오류가 아니고 경고 메시지로 무시해도 된다고는 하는데 아무래도 신경이 쓰여서 찾아봤습니다. 1. IntelliJ에서 셋팅하는 방법입니다. 저는 Maven build시에 발생하는데 적용이 안됐습니다. IntelliJ에서는 Settings -> Build, Exe..
IntellijIntelliJ에서 자바 프로젝트를 git으로 가져오는 경우 .properties의 한글이 \uae30 과 같은 유니코드로 나오는 경우가 있습니다. 이러한 경우 IntelliJ에서는 간단하게 Preferences(윈도우 에서는 아마도 settings..)에서 설정하면 됩니다. Preferences 화면에서 Editer -> File Encodings의 Properties Files의 설정을 UTF-8과 Transparent native-to-ascii conversion을 체크해 주세요. 그러면 유니코드로 나오던것이 한글로 정상적으로 표시되는 것을 확인할 수 있습니다. 참고 : https://dololak.tistory.com/560
springboot 웹어플리케이션 개발을 위해 여기저기 돌아다니다가 좋은 것을 발견해서 기록을 남기는 차원에서 글을 작성합니다. Springboot를 시작하기 위해서는 maven이나 gradle 프로젝트를 생성해서 개발할수 있습니다. 문제(?)는 초기 프로젝트를 생성하는 건데요. https://start.spring.io/ 에 들어가면 maven 또는 gradle 빌드의 springboot 프로젝트를 생성해 줍니다. 그럼 우선 위의 링크로 들어가면 다음과 같은 화면을 볼수 있습니다. 내용을 보면 Project, Language, SpringBoot Version, Project Metadata, Dependencies를 설정해아합니다. 전 첨부이미지와 같이 Maven Project, Java, Sprin..
기본적으로 0x가 붙지 않은 16진수는 Integer.partInt("FF", 16) 으로 변환이 가능 하다. 그러나 0x가 붙은 16진수 문자열을 주고 받는 경우 간단하게 생각하자. 어떤 방법을 이용해서든 0x를 잘라내고 FF 스트링만 만들어 주면 된다. 그래서 0x를 잘라서 10진수 정수 값을 돌려주는 메소드를 만들어 봤다. public static int dec(String hex){ String[] temp = hex.split("0x"); StringBuffer dec = null; for(String strArr : temp){ dec = new StringBuffer(); dec.append(strArr); } return Integer.parseInt(dec.toString(), 16); ..
자바 스윙에서 윈도우 이벤트 발생시에 WindowLister를 확장해서 사용하게 되면은 바로 해당 메소드를 실행하게 된다 예를 들어 오른쪽 상단에 x버튼을 클릭하여 프로그램을 종료하는 경우 다음과 같이 하면 "프로그램이 종료 됩니다."를 수행한 후 바로 프로그램이 종료됩니다. public class MainUI implement WindowLister{ @Override public void windowActivated(WindowEvent arg0) { // TODO Auto-generated method stub } @Override public void windowClosed(WindowEvent arg0) { // TODO Auto-generated method stub } @Override pu..
위에분말이 정답이네요.. 윗분말처럼 아마도 오픈소스라면.. String을 직접 사용하지 않고, byte[]로 drawString을 할것같습니다만.. ㅎㅎ 이 byte[]를 String으로 변환시에 한글과 영어로 구분해서 변환해야 drawString시 한글이 깨지지 않고 제대로 찍힙니다. 아시다시피 한글은 영어와는 달리 2byte로 한문자를 표현하며, 또다른 특징으로 byte하나 하나가 모두 음수값을 가진다는 것입니다. 이런 특징을 이용해서 해당 byte[]을 String으로 만들어 내는 함수를 하나 작성해서 사용하시면 될것같습니다. 아래는 byte[]을 input으로 받아서 String을 output으로 반환하는 함수입니다. 물론 byte[]이 영어, 한글, 혹은 둘이 섞여있는 문장이라도 상관없이 적절한..
this.jPasswordField1.enableInputMethods(true); 위의 코드를 넣어주면 한글이 입력될수 있다..
Frame을 이용해서 윈도우 창을 만들더라고 종료버튼(제목표시줄 X 아이콘)을 누르더라도 종료가 되지 않는 것을 볼 수가 있습니다. AWT 컴포넌트들은 단순히 눈에 보여지는 것이 기본이기 때문에 그 어떤 기능도 들어 있지 않다고 할 수 있습니다. 이 부분은 개발자가 java.awt.event 패키지를 이용해서 각 기능을 만들어줘야 합니다. 이것을 이벤트라고 하는데 각 컴포넌트들이 눌러지거나 어떤 조건을 성립하게 되면 특정 기능을 수행하도록 하기 때문입니다. 게임에서 특정 조건이 모아지면 일어나는 이벤트와 같은 의미입니다. java.awt.event 패키지를 보게 되면 각종 이벤트리스너들이 있는 것을 확인 할 수 있습니다. 마우스, 키보드, 윈도우 등 각 컴포넌트에 맞게 적절히 선택해서 사용하면 되는 부분..
import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JLabel; /* FrameDemo.java requires no other files. */ public class FrameDemo { /** * Create the GUI and show it. For thread safety, * this method should be invoked from the * event-dispatching thread. */ private static void createAndShowGUI() { //Create and set up the window. JFrame frame = new..
1. XML은 구조적인 데이타를 위한것이다 스프레드 시트, 주소록, 형상 파라미터, 비지니스 트랜잭션, 그리고 기술 도면 등 구조를 가지는 데이타는 사물을 포함한다. XML은 텍스트 포맷을 설계하기 위한 규칙(가이드 라인이나 관례라고 생각할 수 있다)들의 집합이며, 이러한 규칙을 통하여 데이타를 체계화한다. XML은 프로그래밍 언어가 아니며, 따라서 XML을 배우거나 사용하기 위하여 프로그래머가 될 필요는 없다. XML은 컴퓨터가 쉽게 데이타를 생성하고, 읽고, 데이타 구조가 모호하지 않도록 하게 한다. XML은 언어를 설계하는데 일상적인 오류를 범하지 않도록 하며, 확장 가능하고, 플랫폼 독립적이며, 국제화와 지역화를 지원한다. XML은 유니코드를 충실히 지원한다. 2. XML은 다소 HTML과 같이 ..