Welcome to My World (www.dgmayor.com)

분류 전체보기 341

14. 자바 JMenu 사용법

메뉴 만들기 JMenuBar 이곳에 메뉴항목을 추가할 수 있다. JMenu 메뉴바에 추가가능한 메뉴 항목 JMenuItem 메뉴의 아이템을 구현하기 위한 클래스 예제소스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; public class test extends JFrame { test(){ super("swing test"); setD..

13. 자바 대화 상자 여는 법 (JOptionPane, JDialog)

▶ 대화 상자 출처 - 대화 상자 윈도우는 프레임같은 주 윈도우와는 다르게 임시 정보를 나타내는 데 사용되는 독립적인 서브 윈도우이다. - 주로 사용자에게 오류나 경고 또는 짧은 메시지를 전달하는 데 사용된다. - 대화 상자는 프레임에 의존적이므로, 프레임이 삭제되면 대화 상자도 삭제된다. 또한 프레임이 아이콘화되면 대화 상자도 아이콘화된다. (AWT의 Dialog 클래스로부터 상속된 특성) - 대화 상자의 종류는 크게 “모달형(Modal Dialog)”와 “비모달형(Non-Modal Dialog)”로 두 가지가 있다. 모달형(Modal Dialog) : 대화 상자를 끝내야만 다른 작업을 할 수 있다. ex) JOptionPane 비모달형(Non-Modal Dialog) : 대화상자를 끝내지 않고 다른 ..

12. arrayList 사용법

ArrayList 요소 출력 ​ import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList arrayList = new ArrayList(); arrayList.add("1"); arrayList.add("2"); arrayList.add("3"); arrayList.add("SniperM"); /* * for (int i = 0; i < arrayList.size(); i++) { * System.out.println(arrayList.get(i)); } */ int totalElements = arrayList.size();// arrayList의 요소의 갯수를 구한다. for (in..

1. 컴퓨터 구조 - from 전자 계산기

1. 컴퓨터 시스템의 구성(개요) 여기서는 컴퓨터의 구성요소와 구성요소들이 어떠한 기능을 하는지 간략하게 큰 그림을 먼저 그려보고 가겠습니다. 하드웨어&소프트웨어 ①하드웨어 컴퓨터를 구성하는 물리적인 기계장치 입니다. ②소프트웨어 하드웨어에 동작을 명령하는 명령어의 집합. 즉, 프로그램입니다. 그래서 이번 챕터에서는 하드웨어의 각 구성요소들이 어떠한 기능을 하는지 차근차근 살펴보겠습니다. 2. 중앙처리장치 (CPU, Central Processing Unit) 컴퓨터에서 두뇌의 역할을 하는 장치로 주기억장치에서 명령어와 데이터를 읽고, 명령어에 따라 처리 및 제어하는 역할을 수행합니다. CPU는 아래와 같이 3가지로 구성되어 있으며, 그 사이를 연결해주는 '시스템버스'라는 개념이 있습니다. ① 연산장치(..

2. 자바 스윙 익히기 용 게임

대학생 때 만들어 봤어야 되는데.... 너무 늦게 만드는 감은 있지만.... 덕분에 자바 문법, gui, 객체 지향 문법, 리스너, 쓰레드, 배열, 충돌 처리 등에 자신이 더욱 생기게 되었다. 책은 더 이상 보고 개발하지 않는다. 뱀게임, 슈팅, 테트리스가 게임 프로그램으로는 기초이며..... 이후 오락실 알라딘 게임, 격투 게임, 던전 앤 파이터, 장기, 유희왕, 고스톱, 디아블로, 스타크래프트 등 으로 넘어간다. 옛날 유튜브랑 조금 다른게.... 언어를 모르고 머리 로직으로만 구현을 했는데.... 직접 해보니 영상과는 다르게 틀린게 너무 많다. 어쨌든.... 이대로 1년만 버티면 진짜 왠만한건 다 만들 것 같다는 생각이 든다. 그 다음은 로봇 제어에 세포 제어까지...... 조금 더 어렸을 때 깨달았..

15. 이클립스용 애드온 모음집 (나중 기억이 안 나서 씁니다.)

1. 다크테마... or edi인가? 테마 파일..... 2. 윈도우 빌더...... (애드온을 하려고 하였으나.... 구버전이라 그런지 실패...) 인디고 버전 기준으로 윈도우 빌더 3.7 버전과 호환이 된다고 한다. (또는 파이썬 c, 안드로이드를 쓸 생각 없이, 데스크톱 gui만 활용하려면 넷빈즈를 쓰면 된다고 한다. 이제 생각하면 나는.... 옛날 사람인데.... 싶기도 하고.... 하지만... 나는 전자, 기계, 생명 과학까지 다루고 싶어서.... 이클립스 쓰고 싶다.) 3. JSmooth 인가? 자바 프로그램을 exe 형태로 만들어서 윈도우즈 상에서 더블클릭 두번으로 실행이 되게끔 해준다고 한다. 참고로... 필자는 이때까지 윈도우 빌더를 써본 적도 없고, JSmooth 같은 것도 써본 적이 ..

14. 나중에 재 설치할 윈도우즈 용 게임 모음 (현재는 기억 잘 안 남)

이건 어디까지나 필자 기준이다. 1. 문명 2. 대항해시대 3. 마메 4. Left 4 Dead 5. StarCraft 6. WarCraft 7. Wow 8. 거상 9. 크레이지 아케이드 10. 카트라이더 11. 던전 앤 파이터 12. 디아블로 기억이 안 나는데..... 왠만한 게임은 다 만들 자신은 있다. 특히 요즘은 gui와 객체 지향에 재미가 들려서 더욱 자신이 있다. 원리는 비슷비슷하니까.... 그러고 보니 아주 예전에 제일 재밌게 했던 게임이 포켓몬, 환세취호전, 스타크래프트.... 이후 포트리스... 바람의 나라.... 디아블로, 그 다음 뭐였더라... 넥슨의 메이플 스토리? 가 유행 했었나?? (당시 컴퓨터 사양이 낮아서 플레이가 안 되었다.) 대학 간 다음에는 워크의 카오스가 유행 했었고...

11. 알면 편한 함수

JLayeredPane pane = getLayeredPane(); pane.add(btn3, new Integer(1)); pane.add(btn2, new Integer(2)); pane.add(btn1, new Integer(3)); JLayerdPane pane = getLayeredPane(); Z.if.requestFocus(); remove JOptionPane 함수 한 두개를 몰라서 엄청 해메고 있었다.... 물론 능력이 된다면.... 함수 정도는 자기가 만들어 낼 수도 있다. 대표 적인 게... 스왑.... 그래도 패널 함수 다 안 찾아 보고.... 이 함수 쓰면 엄청 쉬운데;; 나중에 함수 한번 뜯어 봐야 겠다.

10. 자바 로그 파일 생성

public static void aaaaa(){ String path = "C:/Users/log.txt"; File Folder = new File(path); if(!Folder.exists()){ try{ Folder.mkdir(); System.out.println("폴더가 생성되었습니다."); } catch(Exception e){ e.getStackTrace(); } }else { System.out.println("이미 폴더가 생성 되어 있습니다."); } try{ OutputStream output = new FileOutputStream("C:/log.txt"); String str = "오늘 날씨는 아주 좋습니다."; byte[] by = str.getBytes(); output.wr..

9. 자바 쓰레드 상속 예제... 자동차 경주

package Bank; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; public class Bank extends JFrame{ class MyThread extends Thread{ int x,y; JLabel label; public MyThread(String img,int x,int y) { this.x=x; this.y=y; label = new JLabel(); ImageIcon icon = new ImageIcon(img); label.setIcon(icon); label.setBounds(x,y,300,300); add(label); } @Override public void run(..

8. 자바 gui 정리 - 다른 버전

컴포넌트에 그리기 컴포넌트의 paint 메소드는 자신을 그릴 때 호출되는 메소드이다. 이 메소드는 컴포넌트가 다시 그려질 필요가 있을 때 자동으로 호출된다. 예를 들어 컴포넌트의 일부가 어떤 것에 의해 가려진 후, 다시 보여지면 가려졌던 부분을 다시 그릴 필요가 있을 것이다. 그때 이 메소드가 호출된다. 이 메소드의 헤더는 다음과 같다. public void paint(Graphics g) paint 메소드의 인수로 Graphics 객체(일반적으로 Graphic context라고 함)가 넘어온다. 컴포넌트의 일부를 다시 그릴 필요가 있으면 Graphics 객체를 이용하여 컴포넌트를 그린다. 프로그래머는 paint 메소드를 오버라이드해서 컴포넌트에 원하는 그림이나 도형을 그릴 수 있다. Paint1.jav..

7. 자바 쓰레드 정리

1. 스레드의 정의 Thread(스레드)의 사전적 의미는 '프로세스 혹은 프로그램을 구성하는 흐름의 단위'이다. 프로세스나 프로그램은 하나의 단일 스레드로 구성되어 있을 수도 있고, 2개 이상의 여러 개의 스레드로 구성될 수도 있다. 전자를 싱글 스레드(Single Thread), 후자를 멀티 스레드(Multi Thread)라고 한다. 싱글 스레드 vs 멀티 스레드의 비교 (출처 : 일리노이 시카고대, https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/4_Threads.html) 2. 스레드의 특징 스레드는 병렬성과 동시성이라는 특징을 갖는다. ① 병렬성(Parallelism) 다수의 코어가 각각에 할당된 스레드를 동시에 실행하는 특징 ② 동시성(C..

2. 누가 내 자기 소개를 해보라고 하면.....

남들 따라서 나도 개발 블로그 만들기는 했지만..... 누가 나보고 자신 있게 개발자냐? 라고 하면..... 개발자라고 할 자신이 없다... 초등학생도 다 gui 프로그램으로 개발하고.... 게임 만들고, 해킹 하는데..... 4년제 컴퓨터 공학과를 나오고 32살이 된 나는 아직 구구단도 책 보지 않고는 못 짜기 때문이다. 그리고 대학 학점도 그리 좋지 않았고...... 첫 it 회사에 입사 했을 때도, C# 바코드 모듈을 못 만든다고 구박하기에 나와 버린 전적이 있기 때문이다. 그럼에도 불구하고 내가 이 개발 블로그를 운영하는 이유는..... 내가 잘하거나 못하거나 간에..... 개발자란 직업이 상당히 좋다. 예를 들면..... 추운날 공장에서 춥게 일하고, 더운날 덥게 일하는 거 보다..... 그래도..

6. 자바 GUI(Graphic User Interface) 정리 - 3

안녕하세요? 이번 시간에도 마찬가지로 저번시간에 이어서 Java GUI 이벤트 처리에 대해서 알아보겠습니다. 1. 이벤트(Event) - GUI 컴포넌트에서 발생되는 모든 행위 - 예를 들어 버튼을 클릭하거나 윈도우 종료단추를 클릭하는 행동 - ActionEvent(JButton, JTextField, JCheckBox, JFileChooser, JMenuItem, JRadioButton..) - 버튼이 클릭되거나 리스트, 메뉴 등이 선택되었을 때 발생하는 이벤트 - ActionListener 인터페이스의 actionPerformed(ActionEvent) 메서드를 이용해서 처리 필드명 해당 키 ALT_MASK ALT 키 CTRL_MASK Ctrl 키 SHIFT_MASK Shifit 키 메소드 해당 키 ..

5. 자바 GUI(Graphic User Interface) 정리 - 2

이번 시간에는 앞선 시간에 이어서 자바 GUI를 배우겠습니다. 1. Swing의 컨테이너 (JFrame) 더블클릭을 하시면 이미지를 수정할 수 있습니다 - import로 java.awt.* 사용합니다. - 구현된 인터페이스 - ImageObserver - MenuContainer - Serializable - Accessible - RootPaneContainer - WindowConstants - 생성자 - JFrame() : 타이틀이 없는 프레임을 생성 - JFrame(String title) : 타이틀이 있는 프레임 생성 - 구성 - JRootPane : 실직적인 윈도우 기능을 수행하는 경량의 컨테이너 - glassPane과 layerPane으로 구성 - layerPanem은 JMenuBar와 co..

4. 자바 GUI(Graphic User Interface) 정리 - 1

안녕하세요. 이번 시간에는 자바 GUI에 대해 공부하겠습니다. 1. 자바 GUI - java.awt패키지의 클래스 이용 - 만들기가 쉬움. - 느리고 무거움. - javax.swing 패키지의 클래스 이용 - 만들기가 힘듬 - 빠르고 가벼움. - MVC 패턴 : Model-View-Controller - Model : 데이터를 가져와 어떤 작업을 처리하거나 처리한 작업을 저장 - View : 데이터를 보여주는 역할 - Controller : 뷰와 모델 사이의 흐름제어 - 컴포넌트 : 화면을 구성하는 부품 - 컨테이너에 포함되어야 비로소 화면에 출력될 수 있는 GUI 객체 - 모든 GUI 컴포넌트의 최상위 클래스 : java.awt.Component - 스윙 컴포넌트의 최상위 클래스 : javax.swin..