Welcome to My World (www.dgmayor.com)

소프트웨어/자바 GUI & C# 등... 51

35. 자바 인터페이스 추상화 사용법

[Java] IceCream - Class 구현 아이스크림 클래스를 작성하였습니다. 이해를 돕기 위해서 작성하였습니다. interface IceCream{ abstract void use(); abstract void destroy(); } class Bar implements IceCream{ public void use(){ System.out.println("맛있는 막대바 아이스크림 섭취"); } public void destroy() { System.out.println("다 먹음(막대바)"); } } class Cone implements IceCream{ public void use() { System.out.println("맛있는 콘 타입 아이스크림 섭취"); } public void des..

34. 자바 이미지 리드 또 다른 예제

우왕 백만년만에 올리는 자바. 책 설명이 거지같아서 올리는 중. 자바에서 이미지를 출력해보자! 이미지를 불러오기 전에 swing를 import 해주자! awt로 이미지 불러오는거랑 swing을 통해서 이미지 불러오는건 코드가 좀 다른가보다. 유용한 단축키를 이제서야 알았는데.... CTRL + Shift + O (알파벳 o임. 나처럼 숫자 0누르고 안된다고 징징되지 말자. 시발 잉글리쉬. 한글 ㅇ누르는 ㅄ은 없겠지) 이걸 누르면 자동으로 import가 된다! 워 편한 것. 이거 말고도 마우스로 코드를 드래그한 상태에서 CTRL + Shift + C 를 누르면 전부 주석처리됨! 허허 이거 말고도 System.out.println();치기 귀찮으면 ctrl + space Can't read input fil..

33. 자바 바코드 프린터 프로그램 - 참고자료

[Java(자바)] barbecue 바코드 생성 라이브러리 이번에 소개할 내용은 barbecue(바베큐) 바코드 생성 라이브러리에 대해서 소개하고자 한다. 1. 적용 라이선스 오픈소스 "BSD License(이하 "비에스디 라이선스")를 적용받는다. http://barbecue.sourceforge.net 2. 이클립스에서의 셋팅방법 프로젝트 환경설정에서 Liberies에 ClassPath(클래스패스)에 "Add External JARS..."를 클릭해서 등록해서 사용하면 된다. 그림 1. 프로젝트 속성 -> 라이브러리에 클래스패스에 Jar파일 등록하기 그림 2. 프로젝트 속성, Order and Export("읽기: 오더 엔 익스폴트") jdom("읽기: 제이돔")과 barbecue("읽기: 바베큐")..

32. 자바 시리얼 포트 통신

시리얼 통신이 무엇인가? 다른 말로는 uart통신이라고도 부른다. 엄밀히 말하면 둘은 동일하지 않지만 보통 시리얼통신 이러면 아 uart통신!이라고 생각한다. 그 uart통신을 자바에서 한번 굴려보도록 하자. 먼저 시리얼 통신을 사용하기 위해서는 라이브러리가 필요하다. http://rxtx.qbang.org/wiki/index.php/Main_Page 위의 주소에서 다운로드 받으면 되는데 Download에 들어가서 다운받아주면된다. 여기서 stable한 버전의 binary를 설치하도록하자. 만약 메이븐레포지터리에서 다운받고 싶다면(혹은 메이븐으로 추가하고싶다면) 메이븐 레포지터리를 확인해도 무방하다. https://mvnrepository.com/search?q=rxtx 사용횟수가 그리 많지는 않다. 아..

31. 자바 개행 문자

Java에서 문자열의 줄바꿈을 표현할 때 주로 아래와 같은 escape 문자를 사용합니다. \n \r \r\n 그렇다면 위 3가지 escape 문자의 차이점은 무엇일까요? 세가지 표현 모두 줄바꿈을 나타내지만, 시스템에 따라서 사용하는 개행문자가 다릅니다. \n - unix \r - mac \r\n - windows 따라서, 한가지를 사용하면 시스템에 따라서 줄바꿈이 되지 않을 수도 있습니다. System.getProperty("line.separator") System.lineSeparator() 따라서, 위 메소드를 사용하여, 시스템에 따른 개행문자를 가져와서 사용하는 것이 좋습니다. 역시 모르면 헤맨다.

30. 파일 복사하기

이전에도 파일 읽기, 쓰기, csv 활용 등에 대해 써놨지만.... 너무 좋은 자료가 있어 중복인거 같지만 새로 올린다. Java에서 파일을 다루는 방법을 알아보고 있습니다. [Java] 텍스트 파일 읽기 ( FileReader, BufferedReader, Scanner, Files ) [Java] 파일 생성하는 3가지 방법 (File, FileOutputStream, Files) [Java] 파일, 디렉토리 존재 여부 확인하기 [Java] 파일에 텍스트 쓰기 [Java] 파일, 디렉토리 삭제하기 [Java] 현재 디렉토리 가져오기 [Java] 파일 사이즈 구하는 3가지 방법 [Java] 디렉토리 생성하기 [Java] 파일 또는 디렉토리 생성일자 구하기 [Java] 파일의 최종 수정일자 조회 [Java..

29. 자바 현재 날짜 시간 구하기

Java API를 사용하여 현재 날짜, 현재 시간을 구하는 방법을 소개합니다. Java 8 이후 java.time.LocalDate java.time.LocalTime java.time.LocalDateTime Java 8 이전 java.util.Date java.util.Calendar Java 8 이후 Java 8 이후부터는 java.time 패키지의 클래스들을 사용하여 날짜와 시간을 표현합니다. 그리고, java.time.format.DateTimeFormatter 클래스를 이용하여 날짜와 시간을 원하는 형식으로 출력할 수 있습니다. 1. java.time.LocalDate java.time.LocalData 클래스는 날짜를 표현하는 클래스입니다. 현재 날짜(타임존 적용) 구하기 import jav..

28. Java JScrollPane 사용법....

JScrollPane에 JPanel의 객체를 넣으려고 해도, panel에 지정해준 사이즈와는 상관없이 옆과 아래에 스크롤바가 생성되지 않는 현상이 생김. 패널의 사이즈를 setPreferredSize()을 사용하여 강제 지정한다. JScrollPane jScrollPane = new JScrollPane();//스크롤팬 생성 JPanel panel_ex = new JPanel();//스크롤팬에 붙일 패널 생성 Dimension size = new Dimension();//사이즈를 지정하기 위한 객체 생성 size.setSize(1000, 1000);//객체의 사이즈를 지정 panel_ex.setPreferredSize(size);//사이즈 정보를 가지고 있는 객체를 이용해 패널의 사이즈 지정 jScrol..

26. 새로운 창 JDialog

기존에 JOptionPane()에 대해서 이미 정리를 하였지만.... 새로운 창 크기 조정에 대해서는 JDialog라고 새로 한번 더 배울 필요가 있을 거 같아 새로 정리한다. public class dialog_1 extends JDialog{ JButton btn = new JButton("사라지기"); public dialog_1(JFrame frame, String title) { super(frame, title); setLayout(new FlowLayout()); add(btn); btn.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("eeeef");..

25. 자바 마우스 좌표 이동

자바 마우스 좌표 이동[Robot] 안녕하세요. 오늘은 자바에서 프로그램을 시작했을 때 지정해놓은 좌표로 마우스가 이동하도록 만들어보겠습니다. 좌표 이동 코드. 실행결과. java.awt.Robot를 사용해 마우스, 키보드 등을 자동으로 제어할 수 있습니다. 매크로 같은것도 만들 수 있겠지만 솔직히 자바로 매크로 만들 바엔 그냥 그 노력으로 오토 핫키로 하는 게 더 빠릅니다. 그래도 매크로 말고도 쓸데가.. 흠... 생각나지 않지만 많을겁니다. 아마..? 언젠가는 쓰지 않을까요..? Robot을 사용한 좌표 이동 코드 먼저 아래의 코드는 마우스를 x=500, y=400으로 움직이고 더블클릭을 실행하는 코드입니다. 재미있어 보여서 만져보긴 했는데 이 이상 만질것같지는 않습니다. package test01;..

24. 이차원 배열의 길이 구하기

지난 번에는 Java에서 배열의 길이를 구하는 방법을 알아보았습니다. [Java] 배열의 길이 구하기, length 속성 이번에는 length 속성을 사용하여 2차원 배열의 길이를 구하는 방법을 소개합니다. 2차원 배열은 row(행)와 column(열)을 가지고 있고, 각 row(행)는 같은 개수, 또는 각각 다른 개수의 column(열)을 가지고 있을 수 있습니다. 위 그림은, row가 각각 다른 개수의 column(열)을 가지고 있는 예제입니다. (가변길이배열(Jagged Array)라고 합니다.) (row가 같은 개수의 column(열)을 가지는 케이스의 원소 개수를 구하는 것은 가변길이배열의 원소 개수를 구하는 것에 비해 쉽습니다. 그러므로, 먼저 가변길이배열 원소의 갯수를 구하는 법을 살펴보겠습..

21. 자바 int & String & 상대 경로

다음은 예제이다. 이것 역시 별거 아닌거 같은데.... ./인지 ../인지 ./src인지 헷갈리기 딱 좋아서 새로 정리... 1. 상대 경로 에러가 있어서 다시 정리 2. 인트 스트링 형 변환 Strinig to int String from = "123"; int to = Integer.parseInt(from); int to String int from = 123; String to = Integer.toString(from); 프로그램 실행 중에 현재 작업 디렉토리를 가져오는 방법을 알려드립니다. 시스템 프로퍼티에서 가져오는 방법과 현재의 상대경로를 절대경로로 변환하는 방법이 있습니다. System.getProperty("user.dir")으로 작업 위치에 대한 패스를 가져올 수 있습니다. 3. Sy..

19. Java Toolkit 사용법

화면에 뜨는 화면을 프레임 정중앙에 뛰우는 방법 -> Toolkit 을 사용하면 화면, 프린터, 경고음 등의 정보를 나타낼 수 있다. -> 화면의 정중앙은 x축과 y축이 만나는 점(정중앙)을 찾고 프레임 크기의 절반 만큼 좌측과 상단으로 이동 시키면 된다. Toolkit tk = Toolkit.getDefaultToolkit(); //화면의 정중앙에 배치 시키기 Dimension di = tk.getScreenSize(); // 폭과 높이를 얻어 온다. Dimension di1 = this.getSize(); //프레임의 높이를 얻어 온다 int xx = (int)(di.getWidth() / 2 - di1.getWidth() / 2); //화면의 전체폭 나누기 2 int yy = (int)(di.get..

18. 자바 CSV 활용법 (완성)

세이브 방식 private static void Save() { try { FileWriter fw = new FileWriter((values.file_path), true); BufferedWriter bw = new BufferedWriter(fw); bw.write("번호, 이름, 가격, 수량"); bw.write(System.lineSeparator()); bw.write("1, 파이리, 500, 30개"); bw.write(System.lineSeparator()); bw.write("2, 꼬부기, 1000, 20개"); bw.write(System.lineSeparator()); bw.write("3, 이쌍해씨, 1500, 10개"); bw.write(System.lineSeparator()..