● 메뉴 1) Pull Down Menu(고정식) MenuBar : 메뉴가 고정되어 있는 프레임 Menu : 프레임 안에 있는 메뉴 MenuItem : 메뉴 안의 서브 메뉴들 ex) 2) Pop Up Menu(이동식, Context Menu) 단순한 메뉴 만드는 예제 package menu; import java.awt.Frame;import java.awt.Menu;import java.awt.MenuBar;import java.awt.MenuItem; public class MenuTest1 extends Frame{private MenuBar bar;private Menu file, edit,file_new;private MenuItem file_open, file_save, file_exit;pr..
ItemEvent 예제 package event; import java.awt.Checkbox;import java.awt.CheckboxGroup;import java.awt.Frame;import java.awt.Panel;import java.awt.TextArea;import java.awt.event.ItemEvent;import java.awt.event.ItemListener; public class ItemTest1 extends Frame implements ItemListener {Panel p;Checkbox c1, c2, c3, r1, r2;CheckboxGroup g1;TextArea area;ItemTest1(){addWindowListener(new WindowExit(this..
● Event 1) 이벤트 소스(컴퍼넌트) : 이벤트가 발생한 위치 2) 이벤트 클래스(종류) : 이벤트 종류java.util.EventObject -> 자바 도큐먼스에서 확인java.awt.AWTEvent ActionEvent- 컴퍼넌트가 활성화 될 때 발생하는 이벤트 AdjustmentEvent- 스크롤바와 같이 조정 가능한 컴퍼넌트에서 조정이 일어날때 발생하는 이벤트 ComponentEventContainerEvent- 컨테이너에 컴퍼넌트가 추가/삭제되는 경우 발생하는 이벤트FocusEvent-컴퍼넌트에 포커스가 들어왔을 때 발생하는 이벤트InputEvent- KeyEvent- MouseEventPaintEvent- 컴퍼넌트가 다시 그려질 때 발생하는 이벤트WindowEvent- 윈도우가 활성화 또..
● Layout 1) Layout Manager-FlowLayout 순서대로 배치하는 기능, 화면이 커지거나 작아질때 알아서 조정해주는 기능을 가진다. -BorderLayout (왼쪽,오른쪽,위쪽 아래쪽,중앙) 테두리를 기준으로 배치하는 기능, 위치를 지정해줘야 한다. -GridLayout몇행 몇열로 설정해서 테이블을 만들어준다. -GridBagLayout 불규칙하게 테이블 만들어준다. -CardLayout카드가 셔플되는 것 처럼 만들어준다. FlowLayout 예제 package layout; import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame; public class FlowLayoutTest extends Frame{But..
[java] Window Programming java로 윈도우 프로그램을 만들 수 있는 기술AWT (윈도우 3.1 쯤 나온 기술) -> Swing (최근 나온 기술) -> JavaFX (가장 최신 기술) AWT, Swing : 둘 다 사용 방법이 비슷하다.JavaFX : AWT, Swing와 연관성은 있지만 사용방법이 꽤 다르다. 안드로이드 환경과 비슷하다. 1. 재료 (Component)- 윈도우 프로그래밍을 만들기 위한 재료2. 디자인 (Layout)3. 동작 (Event)4. Component (재료) 더 알아보기 1) AWT(Abstract Window Toolkit) Abstract : 추상 버튼을 눌렀을 때 실제 기능은 코딩을 해야한다.처음 버튼 자체는 껍데기일 뿐이다.그렇기 때문에 Abst..
바이트 스트림 예제 package bytestream; import java.io.IOException; public class ByteTest1 {public static void main(String[] args) {byte data[] = new byte[10];System.out.print("10개의 문자 입력 : ");try {System.in.read(data);} catch (IOException e) {e.printStackTrace();}System.out.println("입력된 값 : ");/*for(int i =0; i 파일 복사 */ package bytestream; import java.io.FileNotFoundException;import java.io.FileOutputSt..
package Thread; class ThreadDemo extends Thread{ //실제 작업, 스레드를 상속받아서 스레드가 된다.//private String name;//public ThreadDemo(String name) {//this.name = name;//super(name);//}@Overridepublic void run() { // 자식 스레드가 해야할 일을 적어주는 곳int sum = 0;for(int i=0; i
● Thread(1) Process and ProgramProcess - 실행중인 프로그램 cpu가 사용할수있도록 보조기억장치에서 주기억장치로 프로그램을 이동할때 사용 Program - 실행중이 아닌 프로그램 Multi Process - 시분할 작업, 여러 프로그램을 실행하는 것Multi Processor 스케줄링 해주는 것이 OS Thread : 하나의 프로세스 안에서 실행되는 작업 단위 (2) Multi Thread (3) 자바에서 지원하는 스레드 기법1) Thread클래스 상속2) Runnable인터페이스 상속 (대안) (4) 모든 자바클래스는 반드시 하나의 스레드를 가지고 있다.: main() -> 메인 스레드: run() -> 자식 스레드가 해야할 일을 적어주는 곳 (5) Thread의 Life..
● IO(Input Output) -> NIO(1) java.io.* (2) Stream1) 단방향2) 원칙적으로 순차적 3) 지연 발생4) 어떤 장치를 사용하던간에 사용법은 동일하다. (3) 자바에서 구현된 Stream 객체1) ByteStreamInputStreamOutputStream 2) CharacterStreamReaderWriter 3) Printwriter출력을 간단하고 쉽게 하기 위한 클래스 4) Serializable(직렬화) -> 복잡한 데이터를 단순화 시키는 것, 속도는 조금 느리지만 데이터는 안전함 ※ 래퍼 클래스는 비 객체를 객체로 만들어줌 필터 클래스는 객체를 더 확장시켜서 더 많은 기능을 가진 객체로 만들어준다.
● 예외 처리(1) 예외가 발생했을 때 예외에 대한 제어권을 시스템(JVM)이 아니라 개발자가 가질 수 있게 하는 방법 (2) 왜 쓰는가? Why?1) 예외가 발생했을 때 메시지에 대한 표현 문제2) 프로그램의 비정상적인 종료 (3) 어떻게 쓰는가? How?1) try/catch blocktry{ //모니터링기능 , try로 묶은곳에서 에러가 발생하는지 확인하는 구문...}catch(...){ // 시스템에서 처리하지 않고 개발자가 직접 처리할 수 있도록 하는 구문 ...} - 다중으로 catch를 사용해서 더 넓은 부분의 에러를 잡을수있다. 2) throw - 예외를 던진다, 테스트, 예외 처리 주체를 변경- 블럭 내부(메서드 내부)에서만 던질 수 있다- 단 한 개만 던질 수 있다.- try문에서 사용..