728x90
[전체 게임 기획/설계] [게임 실행 영상] 스도쿠게임_실행영상 [게임 개발 설명] [Main] -주된 UI를 제공하는 MainFrmae객체를 생성. Main public class Main { public static final int SCREEN_WIDTH = 800; public static final int SCREEN_HEIGHT = 600; public static void main(String[] args) { new MainFrame(); } } [MainFrame 클래스] -게임 UI의 주된 컴포넌트 처리를 이 안에서 해결했다. 동적인 화면 전환을 위해 여러 가지 Panel을 사용하고 boolean 변수로 현재의 screenImage를 컨트롤했다. MainFrame 클래스 public c..
package mouse; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; //사각형 화면에 그리기용 class Rectangle { int x, y, w, h; } class MyPanel extends JPanel{ BufferedImage img = null; int img_x = 0, img_y = 0; Rectangle [] array = new Rectangle[100]; int index = 0; public ..
package ch12; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Rectangle; import java.awt.Robot; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; //캡쳐 클래스 public class Capture { public static void main(String[] args) { //필드 JFrame capture = new JFrame(); capture.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension d; Rectangle re..
[코드 설명] -MyFrame 클래스에 JFrame 상속과 동시에 ActionListener를 구현해놓았다. class MyFrame extends JFrame implements ActionListener { //필드 private JButton zero, one, clear, change; //버튼 4개 private JTextField text; //Text 창 private JPanel panel; //패널 //생성자 public MyFrame() { setSize(350, 300); //프레임 크기 설정 setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("자바 시험"); setLayout(ne..
2.문자열에서 숫자 추출하기 - 화면에서 사용자 입력을 받음. - 화면 아래 '계산' 버튼을 클릭하면, 사용자가 입력한 문자열에서 숫자만 추출한 후, 그 숫자를 모두 더한 값을 출력할 것 [코드 설명] -MyFrame() 클래스 내부에서 이벤트 처리할 수 있도록 JFrame 상속받는 동시에 ActionListener도 implement 시켜두었다. class MyFrame extends JFrame implements ActionListener{ //필드 private JPanel panel; private JButton cal; private JTextArea input; private JTextField output; //생성자 public MyFrame() { this.setSize(350, 300..
1. 소수 출력하기 - 화면에 숫자 10이 초기화되어 있음 - '+' 버튼을 누르면 숫자보다 큰 가장 작은 소수(즉, 10보다 큰 가장 작은 소수는 11)로 문자열을 변경 - '-' 버튼을 누르면 숫자보다 작으면서도 가장 큰 소수(즉 10보다 작은 소수 중 가장 큰 것은 7)로 변경 단, '-'버튼을 누를때 제일 작은 소수는 2이므로, 그 이하로 내려가지 않아야 함 [코드설명] -MyFrame() 클래스 내부에서 이벤트 처리할 수 있도록 JFrame 상속받는 동시에 ActionListener도 implement 시켜두었다. class MyFrame extends JFrame implements ActionListener{ //필드 private JButton plus, minus; private JLab..
[소스코드] [소스코드] Node.java package hwlinkedlist; public class Node { //필드 private String name; private int pointSum; private Node next; //생성자 public Node(String n, int pointMath, int pointKorean, int pointEnglish) { this.name = n; this.pointSum = pointEnglish + pointKorean + pointMath; next = null; } //Getter, Setter 메소드 public String getName() { return name; } public void setName(String name) { th..
package dynamic_beat; public class Main { public static final int SCREEN_WIDTH = 1280; public static final int SCREEN_HEIGHT = 720; public static final int NOTE_SPEED = 3; public static final int SLEEP_TIME= 10; public static final int REACH_TIME = 2; public static void main(String[] args) { new RythmGame(); } } package dynamic_beat; public class Beat { private int time; private String noteType;..
🟩 ch12. 스윙 컴포넌트들 ch12. 스윙 컴포넌트들 12-1. 스윙 컴포넌트에 이미지 표시 거의 모든 스윙 컴포넌트에는 이미지를 추가로 표시 O [스윙 컴포넌트에 이미지 표시] : ImageIcon 클래스 사용 1) ImageIcon 클래스의 객체 생성 ImageIcon은 JPEG, GIF, PNG 파일을 읽을 수 있다. 경로지정 시, 절대 경로 or 상대경로 ImageIcon image = new ImageIcon(“image.gif”); 경로지정 X -> 자동으로 프로젝트 폴더 이미지 파일 불러옴 2) setIcon() 메소드 사용 -> 원하는 컴포넌트에 이미지 지정 JLabel label = new JLabel(“이미지 레이블”); label.setIcon(image);12-2. 체크 박스 [..
🟩 ch11. 그래픽 프로그래밍 ch11. 그래픽 프로그래밍 11-1. 그래픽 프로그래밍 기초 [자바 그래픽 사용하는 방법] 1) 전통 AWT 패키지 사용 2) 최근 java 2D API 사용_ 2차원 그래픽 구현 자바는 플랫폼에 독립적이기 때문에 어디서나 똑같은 모양의 그래픽 프로그램 작성 O >> 화면 위에 사각형, 원 그리는 프로그램 [프레임 생성] 스윙에서는 JFrame 클래스의 인스턴스가 바로 프레임이 된다. [패널 생성] 컨테이너 역할하는 JPanel 클래스의 인스턴스 생성 후 -> 프레임 객체에 추가하면 된다. 패널 내부에는 JPanel 클래스의 paintComponent() 메소드를 재정의 → 이 메소드 내부에 실질적으로 그림 그리는 코드를 작성해야 한다. paintComponent() 메..
🟩 Ch10. 사용자 이벤트 처리 ch10. 사용자 이벤트 처리 10-1. 이벤트 구동 프로그래밍 [이벤트 구동 프로그래밍] 이벤트 발생 시, 연결된 컴포넌트에 대해 이벤트 리스너 토대로 적절 처리 프로그래밍 방식 이벤트에 의하여 실행 순서가 결정되는 방식 이벤트 발생 → 이벤트 객체 생성 -> 컴포넌트에 등록된 이벤트 리스너가 이벤트 처리 [이벤트 리스너 작성 과정] (1) 리스너 인터페이스를 구현한 ‘이벤트 리스너 클래스 작성’ class 이벤트리스너 implement 리스너 인터페이스 { ... }(2) 컴포넌트에 이벤트 리스너 객체 등록 컴포넌트 . add____Lister(new 리스너 객체());[이벤트 객체] 이벤트 객체: 발생된 이벤트에 대한 모든 정보를 리스너로 전달 이벤트 객체 내부 g..
🟩 Ch09. 인터페이스/람다식/패키지 09-1. 인터페이스 개요 [인터페이스] 클래스 간 상호작용의 표준 규격 규격 안에 합의된 추상 메소드 작성 인터페이스 내부에는 기본적으로 추상 메소드, 상수만 선언 가능(자동 처리됨) [구현 클래스] implement 키워드 인터페이스를 구현한 클래스 내부에는 반드시 인터페이스의 추상 메소드 전부를 재정의 이후 실행 메소드에서 구현 객체 생성하여 사용 O [인터페이스 VS 추상클래스] : 자체로 객체 생성 불가능 추상 클래스 : 하위 실체 클래스들의 공통 속성들을 내부에 선언해둔 클래스 : 내부에 (공통 속성이기만 하면) 인스턴스(일반) 필드, 메소드도 정의할 수 O 인터페이스 : 기본적으로 내부에 추상 메소드와 상수변수만 선언 허용함 관련된 클래스 사이에서 공통..
🟩 ch08. 그래픽 사용자 인터페이스 08-1. GUI(그래픽 사용자 인터페이스) 📌 GUI를 제공하면 사용자가 사용하기 쉬워진다. 자바에서는 GUI도 ‘객체’로 만든다. [AWT와 스윙] AWT : 자바 초기 제공 GUI. 컴포넌트가 플랫폼에 종족적이라 일관된 화면 제공 X 스윙(多): 업그레이드 버전 GUI. 컴포넌트가 자바로 작성되어서 일관된 화면 제공 O : 스윙에 속하는 클래스들은 모두 앞에 J 붙임 [스윙 패키지] java.awt : GUI 컴포넌트를 위한 부모 클래스 제공. Color, Point클래스 포함 java.awt.event : GUI 컴포넌트로부터 발생되는 이벤트 처리할 클래스, 인터페이스 제공 java.awt.swing : GUI 컴포넌트 제공 (버튼, 텍스트 필드, 프레임, ..