Welcome to My World (www.dgmayor.com)

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

53. 개인 커스텀 에디터, C# vs JAVA Spring ??? 고찰

C#이 메모리도 제어 할 수 있어서, 게임 핵도 만들기 쉽고... 그지 같은 윈도우 빌더 같은 거 없어도, UI 작성하기도 쉽고..... 닷넷 소프트로 넘어 가면서..... 다른 OS에서도 작동이 되고.... 설치 및 배포 하는데에 있어서도.... 지금 내가 하는 것과 달리 1분 안에 끝낼 수 있다고 한다. 나도 안다. 그 딴거.... 근데, 나는 차마 자바를 놓지를 못하겠다. 전에도 적은 거 같은데;; 나는 자바 웹 부터 배웠었고... 이유 없이 빌게이츠가 싫고...... 웹에서는 아직 강력하고..... .............. 웹에서 강력한 이유는 다음과 같다. 자바 특유의 에러가 없음.... 협업에 강함. 스프링의 존재.... (middle 재사용) 유지 보수에 용이 하여.... 금융 등에도 용이..

51. 자바 마우스 우측 버튼 클릭

guiex.SwingTest.java package guiex; import java.awt.Frame; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; /* 프레임에 팝업 메뉴 - 마우스 오른쪽으로 이벤트 동작 */ public class SwingTest { public static void main(String[] args) { Frame f = new Frame("팝업 메뉴"); f.setSize(300,300); // 팝업 메뉴를 만들어 놓자 PopupMenu pMenu = new PopupMenu("edit"); // Lab..

48. [JAVA] 자바 메모장 실행 및 텍스트 파일 열기 (실행시키기)

IT의 신 2018. 6. 19. 15:01 이웃추가 자바로 메모장을 실행시킬려면 Runtime.getRuntime().exec("notepad"); 라고 하면 된다. 또한 특정 파일을 열고 싶으면 Desktop.getDesktop().edit(new File("c:/joongna/price.log")); 그러나 특정 파일을 메모장으로 열고 싶을 때는 PC환경이 확장자 txt는 메모장으로 열게 되어 있어야 메모장이 실행되면서 해당 파일이 열린다. 만약 확장자가 특정 프로그램에 연결되어 있지 않으면.. java.io.IOException: Failed to edit . Error message: 이 작업을 하기 위해 지정된 파일로 아무 응용 프로그램도 연결되어 있지 않습니다. 라고 나온다. 또한 파일이 없..

47. 자바 직렬화 & 역 직렬화

자바 직렬화가 무엇(what)인가요?? 자바 직렬화란 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기합니다. 시스템적으로 이야기하자면 JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술과 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태를 같이 이야기합니다. 자바 직렬화는 어떻게(how) 사용할 수 있나요? 자바 직렬화 조건 자바 기본(primitive) 타입과 java.io.Serializable 인터페이스를 상속받은..

46. 자바 웹 크롤링

1. 개요 크롤링(Crawling) 이란? 정식명칭은 Scraping 또는 Web Scraping 으로 웹 사이트에서 원하는 정보를 추출하는 것을 의미합니다. 보통 웹 사이트는 기본적으로 Html 기반입니다. 크롬에서 Ctrl + U 또는 우클릭 - 페이지 소스보기를 클릭하시면 다음과 같은 화면을 볼 수 있습니다. 네이버 금융 웹 사이트 소스코드 위 사진은 네이버 금융 https://finance.naver.com/ 홈페이지의 소소를 확인한 것입니다. 2. 활용 그렇다면 이 소스들을 가지고 우리는 무엇을 할 수 있을까요? Html 소스들을 자세히 들여다 보시면 우리가 웹 사이트에서 보는 모든 정보들이 담겨있습니다. 이 정보들 중 원하는 정보만 가져와서 자신만의 프로그램에 사용하는 것 입니다. 불법아닙니까..

45. 자바 스프링버퍼 및 초기화 방식

처음 대학에 들어가 c언어를 배우면서 일상에서 쉽게 사용하던 문자열들이 굉장히 어렵게 처리했던것들이 기억난다. char형의 배열로 문자열형태를 만들고 제어했는데, 자바는 String 클래스 하나면 문자열을 저장하고 합치고 필요한 메소드를 사용해 제어가 가능하다. 불과 작년까지 String을 자바의 기본 자료형(primitive type)으로 착각하고 문자열처리는 String 클래스로만 가능할 것이라고 생각했던 것에 반성하며 String, StringBuffer, StringBuilder클래스에 대해 정리해본다. String String 클래스는 일단 변경 불가능한 클래스(immutable)이다. 쉽게 String클래스에 문자열을 넣어 사용하지만 실제로는 다른 언어처럼 char[] 배열 변수를 인스턴스 변..

44. 자바 InputStream & OutputStream 정리

데이터 입출력 프로그램에서는 데이터를 외부에서 읽고 다시 외부로 출력하는 작업이 빈번하게 일어납니다. 데이터는 사용자로부터 키보드, 마우스 등을 통해 입력될 수도 있고, 파일 또는 네트워크를 통해 입력될 수도 있습니다. 또 반대로 데이터를 사용자에게 모니터나 파일등으로 출력할수도 있습니다. 자바 입출력과 스트림(Stream) 자바에서 데이터는 스트림(Stream)을 통해 입출력 됩니다. 스트림은 단일 방향으로 연속적으로 흘러가는 것을 말하는데 물이 높은 곳에서 낮은곳으로 흐르듯이 데이터는 출발지에서 나와 도착지로 흘러간다는 개념입니다. 프로그램이 출발지냐 또는 도착지냐에 따라서 스트림의 종류가 결정되는데, 프로그램이 데이터를 입력받을 때에는 입력(InputStream)이라고 부릅니다. 입력스트림의 출발지..

43. 자바 TextArea 정리 + 스크롤 넣기

TextArea는 여러 줄의 text를 입력하거나 보여줄 수 있는 편집가능한 컴포넌트이다. 그리고 스크롤바를 이용해서 실제화면에 보이는 것보다 많은 양의 text를 담을 수 있다. 메서드 또는 생성자 설명 TextArea(String text, int row, int col, int scrollbar) text – TextArea에 보여질 text를 지정한다. row – TextArea의 줄(row) 수를 지정한다. col – TextArea의 열(column) 수를 적는다. scrollbar – TextArea에 사용할 scrollbar의 종류와 사용여부지정. 아래의 4가지 값 중에서 하나를 선택 TextArea.SCROLLBARS_BOTH TextArea.SCROLLBARS_NONE TextArea...

42. 자바 콤보 박스 사용 예제

//150520 import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; ​ ​ public class JComboBoxTest extends JFrame { //콤보박스에 나타낼 데이터를 배열에 저장합니다. ​ String rainbow[] = {"빨강색", "주황색", "노랑색", "초록색", "파랑색", "남색","보라색"}; ​ JComboBox combo; JLabel ms..

41. 자바 해쉬맵 사용 예제

HashMap 이란? HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션입니다. Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있습니다. Map은 키와 값으로 구성된 Entry객체를 저장하는 구조를 가지고 있는 자료구조입니다. 여기서 키와 값은 모두 객체입니다. 값은 중복 저장될 수 있지만 키는 중복 저장될 수 없습니다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치됩니다. HashMap은 이름 그대로 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는 데 있어서 뛰어난 성능을 보입니다. 위 그림과 같이 HashMap은 내부에 '키'와 '값'을 저장하는 자료 구조를 가지고 있습니다. HashMap은 해시 함수..

40. 리눅스 자바 시리얼 통신 시 포트 확인

윈도 상에서는 장치 관리자와 comport 를 사용하여, 자바로 시리얼 통신에 성공하였다. 그렇지만 계속 블로그 돌아다니고, 스택 오버 플로우를 돌아 다닌 다음에 방법을 알아내었다. 먼저 sudo apt-get install librxtx-java 로 자바 전용 rxtx 2.2 버전 라이브러리를 설치한다. 이후 이클립스에서 http://mfizz.com/oss/rxtx-for-java 에서 리눅스용 .dll 대신 .so 가 들어 있는 자바 전용 라이브러리를 lib 에 넣고, native 코드도 수정한다. 이후 기존 윈도우랑 똑같이 소스를 실행 하면.... 포트가 없다는 소리가 나온다. 하지만 리눅스 상에서는 장치 관리자가 없다. sysinfo인가 있다고 하는데 못 찾겠다. comport도 없다. 그래서 ..

37. 이클립스 실행 기록 삭제

오늘은 이클립스 실행기록을 삭제하는 방법에 대해서 알아보도록 하겠습니다. 기본적으로 이클립스에서 실행을 하다보면 아래와 같이 실행기록들이 쌓이게됩니다. 쌓이는 것은 문제가 아닌데 쌓이면 내가 진짜 실행해야할 것들이 잘 보이지 않게 되어 헷갈리게 됩니다. 그럼 이러한 기록들을 어떻게 삭제해야 할까요.? 간단합니다. 워크스페이스의 아래 경로에 가서 있는 파일들을 전부 지워주시면됩니다. ${WORKSPACE}/.metadata/.plugins/org.eclipse.debug.core/.launches

36. 자바 버전 바꾸기 (펌)

안녕하세요. 용테크의 용사장 입니다. 개발을 하다보면 없어야 좋겠지만, 어쩔 수 없이 자바 버전을 변경해야 하는 경우들이 생깁니다! 간혹 모르시는 분들이 있는거 같아서 이번에는 이클립스에서 자바의 버전을 변경하는 방법을 포스팅할까 합니다. 원하는 버전의 자바가 설치되어 있다는 가정하에 진행합니다. 자바가 설치되어 있지 않을 시 아래의 포스팅을 참조하세요. > 이전버전 자바파일 다운로드! STEP 01. 자바 파일 ADD! 우선 이클립스에게 나는 자바파일이 있어! 라는 것을 알려줘야 합니다. 이클립스 상단 메뉴 [Window] > [Preferences]를 들어갑니다. 좌측 메뉴 [Java] > [Installed JREs] 를 선택해줍니다. 현재 설치되어있고, 이클립스가 알고 있는 jdk, jre가 여기..