Welcome to My World (www.dgmayor.com)

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

15. 자바 프로그램 실행 방법

실행파일에서 .exe가 아닌 .jar파일을 실행해야 하는 경우가 있는데요. 그 경우 어떻게 실행하는지 방법을 포스팅 해보겠습니다. ​ 요약 cmd > cd jar파일있는 폴더 > java -jar jar파일명.jar ​ 1. 명령프롬프트(cmd)를 실행합니다. 방법 : 윈도우버튼 > cmd 명령프롬프트(cmd)실행방법 : 윈도우 > cmd 2. 실행할 jar파일이 있는 경로로 이동 명령어 : cd 경로 ​ 3. jar파일 실행 명령어 : java -jar jar파일명.jar ​ 요렇게 하면 해당 jar파일이 실행됩니다. 별거 아닌거 같은데... 확실히 아는게 아니면, 아까는 되다가 안되다가, 환경 변수 재 설치도 몇 번 하고, javac 치기도 하고 annotation 찾기도 하고 그렇다. 어쨌든 해결...

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..

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..

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..

3. 자바 리스너 이벤트 정리

학습 목표 독립적인 클래스로 이벤트 처리기를 작성 내부 클래스로 이벤트 처리기를 작성 프레임 클래스에 이벤트 처리를 구현 익명의 클래스를 사용하는 방법 람다식을 이용하는 방법 1. 독립적인 클래스로 이벤트 처리기를 작성 ■ 독립적인 클래스 작성 ✓ 일반적인 방법 - 이벤트 리스너를 완전한 클래스로 작성 - GUI 컴포넌트에서 발생하는 전형적인 이벤트 처리 형태 ex) 버튼 . 이벤트와 연관된 인터페이스를 사용하여 클래스 생성 . GUI 구축을 위한 컴포넌트 객체를 생성 . 이벤트를 받아들인 컴포넌트 객체에 리스너를 등록 . add() 메소드를 사용하여 컨테이너에 추가 ActionEventTest1.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2..

1. 페이징 처리 및 구현

페이징 처리를 하다가 애를 많이 먹었다. 처음은 -2, -1, 0이 뜨지를 않나, 7, 8, 9 가 뜨는 불완전한 페이징을 구현 하였으나..... 좀 더 깔끔한 페이징을 위해서 여기 저기 돌아 다녀 보니, 무슨 말인지 이해가 가지 않았다. 그래서 다른 분 블로그는 참고만 하고 나 스스로 답을 찾으려고 노력하다 보니..... 페이징을 어떻게 해야 할 지 눈에 들어 왔다. 이제와서 다시금 드는 생각이지만.... 처음 페이징을 구현 하셨던 분도 분명 처음에는 검색이 아닌 자신의 머리를 통해서 정보를 만들어 내셨을 것이다. 그렇다면 나 역시 검색 대신에 스스로 생각해서 문제를 해결할 수 있다는 것인데..... 어쨌든 오늘 만큼은 내가 나 스스로 멋있다는 생각이 많이 든다. 소스 및 알고리즘은 다음과 같다. in..