목록프로그래밍 언어 (70)
알버트의 개발하는 블로그
이번 시간에는 자바에서 제공하는 MouseMotionListener 클래스를 통해서 윈도우창 안에 원을 그려보는 작업을 해보도록 하겠습니다. MouseMotionListener은 마우스의 모션을 듣고 그 모션에 따른 작업을 하게 해주는 클래스입니다. 바로 간단한 예제를 통해서 MouseMotionListener 클래스를 사용해보겠습니다. MouseMotionListener 클래스 예제 package kr.koreait.listenerTest; import java.awt.Color; import java.awt.Graphics; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; im..
이번 시간에는 자바의 Panel 클래스에서 제공하는 paint() 메소드를 이용하여 윈도우창에 그래픽을 구현하는 것을 해보도록 하겠습니다. paint() 메소드는 윈도우창에 그래픽을 구현시켜 주는 메소드로써 추상메소드이기 때문에 반드시 override를 해주어야 하는 성질을 갖고 있습니다. 따라서 윈도우에 그래픽을 표시하려면 Panel 또는 JPanel 클래스를 상속받은 뒤에 paint() 메소드를 override 시켜서 그래픽을 구현하고 클래스 객체를 윈도우에 추가해주면 됩니다. 바로 간단한 예제를 통해서 윈도우창에 그래픽을 구현해보도록 하겠습니다. 윈도우 그래픽 구현 예제 package kr.koreait.graphicTest; import java.awt.Color; import java.awt.F..
이번에는 GridLayout 클래스에 대해서 알아보도록 하겠습니다. GridLayout 클래스는 역시 윈도우창과 관련이 깊은 클래스입니다. 윈도우창을 GridLayout(바둑판, 격자 모양)모양으로 만들어 줄 수 있기 때문에 상당히 유용한 클래스라고 할 수 있습니다. Frame 클래스로 윈도우를 생성하고 그 윈도우를 바둑판 모양으로 만들어 보겠습니다. 간단한 예제를 통해서 GridLayout을 사용해보겠습니다. GridLayout 클래스 예제 package kr.koreait.layoutTest; import java.awt.Color; import java.awt.Font; import java.awt.Frame; import java.awt.GridLayout; import java.awt.event..
이번 시간에는 Frame클래스로 윈도우창을 만들고 Button을 넣은 뒤에 ActionListener 클래스를 구현해보는 예제를 해보도록 하겠습니다. 일단 자바에서 제공하는 Component와 Container의 개념을 잘 알아야 합니다. Component는 Frame, Panel, Button등을 말하고 Container은 이런 Component들을 가질 수 있는 것을 말합니다. 예를 들어, Frame에 Panel, Button등을 add하면 Frame클래스 안에 있는 Container에 추가됩니다. 그럼, Frame에서 발생하는 Event들을 Container에 포함되어 있는 Component들에 일괄적으로 적용시킬 수 있습니다. 이제 간단한 예제를 통해서 윈도우창과 버튼을 만들고 ActionList..
이번 시간에는 자바에서 제공하는 Dimension 클래스에 대해서 알아보겠습니다. Dimension 클래스는 모니터 해상도를 기억하거나 윈도우의 크기에 대한 작업을 할 경우 사용되어집니다. 모니터 해상도를 얻어와서 Dimension 클래스의 객체에 저장할 수 있는데요. 그 중에 Toolkit 클래스는 모니터 해상도 또는 디스크에 저장된 이미지 파일을 읽어올 때 사용됩니다. dimen = Toolkit.getDefaultToolkit().getScreenSize(); //모니터 해상도를 얻어오는 명령 dimen2 = getSize(); //윈도우 사이즈를 받아오는 명령 소스 코드는 대표적으로 이 2가지 방법으로 사용되어 집니다. 바로 간단한 예제를 통해서 Dimension 클래스를 사용해보겠습니다. Dim..
이번에는 JFrame 클래스로 윈도우창 만들고 닫는걸 해보도록 하겠습니다. JFrame클래스는 Frame클래스의 상위 호환이라고 생각하시면 됩니다. 프레임 클래스보다 좀 더 세련되고 다양한 기능을 구현할 수 있습니다. 프레임 클래스와 마찬가지로 윈도우창을 제공해주는 클래스입니다. 바로 간단한 예제를 통해서 JFrame 클래스로 윈도우창 만들기를 해보도록 하겠습니다. JFrame 클래스 예제 package kr.koreait.windowTest; import java.text.SimpleDateFormat; import javax.swing.JFrame; //JFrame을 상속받고 Runnable 인터페이스를 구현받는다. (다중 상속과 같은기능) public class WindowTest5 extends ..
이번 시간에는 자바에서 제공하는 Frame 클래스에 대해서 배워보겠습니다. Frame 클래스는 각종 응용프로그램을 위한 윈도우를 제공하는 클래스입니다. Frame 클래스를 통해서 이제 단순한 콘솔창 말고 윈도우창을 만들거나 윈도우창을 조절할 수 있습니다. 그래서 GUI 프로그램에서 필요한 스킬입니다. 모든 GUI 프로그램에서는 한 개의 Frame이 필요합니다. 이제 간단한 예제를 통해서 Frame 클래스로 윈도우창을 만들고 닫아보겠습니다. Frame 클래스 예제 package kr.koreait.windowTest; import java.awt.Color;//윈도우창 color 클래스 import java.awt.Frame;//Frame클래스 import java.awt.event.WindowAdapte..
이번 시간에는 자바 스레드에서 제공하는 중요한 기능중에 하나인 동기화에 대해서 알아보겠습니다. 스레드라는 것은, 프로세스에서 실행되는 가장 작은 실행단위인데요. 이 스레드들이 공유된 데이터를 사용해야 할 때가 있습니다. 근데 두 스레드가 공유된 데이터를 처리하다 보면 생각치 못한 오류가 발생할 수 있습니다. 그래서 동기화라는 것은, 이 스레드들이 공유 데이터를 누가 먼저 작업할지 순서를 정해줍니다. 즉, 공유 영역을 사용하는 스레드가 실행중일 때 같은 공유 데이터를 사용하는 다른 스레드가 실행되지 못하도록 하는 것을 말합니다. 순서를 정해주는 것입니다. 따라서 동기화 블록에는 실행중에 절대로 작업 전환이 이루어지면 안되는 내용을 코딩해주어야 합니다. 스레드 동기화 주요 메소드 wait() : 다른 스레드..