Welcome to My World (www.dgmayor.com)

dgmayor 276

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

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

10. mysql 및 이클립스 연동 방법

mysql-connector-java-0.5.8.jar 다운로드 deb 패키지로 다운 받아도 되긴 하나... 어차피 쓰는 건 jar 뿐.... 자바고 connector고 그냥 설치 환경을 usb에 넣어 다니는 게 가장 편한 방법인거 같다. 그리고.... 파일을 conn.jsp로 생성.... 255 에러 발생시 ?useUnicode=true&characterEncoding=utf8를 url 뒤에 추가 하면 된다. public static void DB_Save() { Connection conn = null; PreparedStatement pstmt = null; try { conn = DB_Conn(); String sql = "INSERT INTO test_1 values (null,?)"; pstm..

9. mysql 사용자 추가 및 에러 잡는 방법

[Mysql] Client does not support authentication protocol requested by server 에러 Table of Contents Client does not support authentication 에러 발생 원인은? 에러 해결 방법 맺음 Jpa와 Mysql을 이용하여 공부를 진행하던 중 만난 authentication관련 에러에 대해서 소개해드리도록 하겠습니다. Client does not support authentication 이 이유가 발생하게 된 이유는 Mysql 8.0에서는 다양한 플러그 형태의 인증 방법을 제공합니다. 기본적으로 제공하는 인증 방법은 caching_sha2_password입니다. 에러 발생 원인은? 제가 설치한 Mysql Conne..

8. mysql 및 mysql-workbench 설치 방법

처음으로 스크린 샷을 사용해보는데...... apt repository에 가서 (mysql-apt-config_0.8.22-1_all.deb)를 다운로드 이후.... 옆에 느낌표를 클릭하면.... 다른 블로그 말고 오라클에서 제공하는 매뉴얼을 읽을 수 있다. 예전 대학생 때에는 과거 어카이브 찾기도 쉬웠고.... 매뉴얼 링크도 큼지막했던거 같은데..... 왜 필요 없는 인스톨러를 제공하고... 매뉴얼 링크도 찾기 힘든지 모르겠다. 어쨌든 영문판을 다시 정리하면.... 1. 패키지를 apt에 추가 시킨다. $> sudo dpkg -i mysql-apt-config_w.x.y-z_all.deb 2. apt를 업데이트 한다. $> sudo apt-get update 3. mysql을 apt에서 다운로드 받아 ..

7. 신형 톰캣 (tomcat 9.0.56 tar.gz) 설치 방법

https://tomcat.apache.org/download-90.cgi 9.0.56 tar.gz 를 다운로드..... (wget) 원하는 폴더에 압축해제....(zxvf) 그럼 사실 설치 끝이다... 자바나 이클립스나 스타크래프트나 설치는 그냥 파일을 다운 받으면 끝나는 거고.... 여기서 startup.sh 같은 실행 파일을 실행 하면 그 파일이 실행이 되는 것이다. 실행은 리눅스 우분투 20.04 기준 (시간이 흐르다 보니 버전이 정말 중요 하다는 걸 이번에 뼈져리게 느꼈다.) sudo -i 혹은 chmod로 권한을 바꾼뒤에 sudo sh startup.sh 해주면 톰캣이 실행이 된다. 반대로 shutdown.sh 하면 톰캣이 정지가 된다. 여기서 터미널에서 더욱 더 편하게 사용하기 위해.......

6. 신형 이클립스 (2021.12 이름이 이렇다...) 설치 방법

https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2021-12/R/eclipse-inst-jre-linux64.tar.gz Eclipse downloads - Select a mirror | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks. www.eclipse.org 22년 1월 기준 신형 이클립스이다. 뭐.... 요즘 파이썬도 있고... C도 있고 하지만은... 내가 ..

5. 신형 java 설치 방법 (JDK 16)

우분투에 자바를 설치하는 몇가지 방법이 있습니다. 이 글에선 설치가 비교적 간단하고 자바 버전관리도 쉽다고 판단되어 package 관리자를 통한 설치 방법과 JDK 버전을 쉽게 변경하는 방법을 공유합니다. 간단한 설치 프로세스는 아래와 같습니다. apt 패키지 정보 업데이트 자바 JDK 설치 bashrc에 JAVA_HOME 추가 bashrc 실행 간단한 자바 버전 변경 프로세스는 아래와 같습니다. JAVA 버전 확인 update-alternatives 명령어를 통해 자바 버전 변경 JAVA 버전 확인 설치 방법 1. apt 패키지 인덱스 정보를 아래 명령어로 업데이트하여 자바 리스트를 갱신합니다. sudo apt update 2. 원하는 자바 버전을 설치합니다. 이 글에선 8버전과 16버전을 선택하였습니..