- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Tkinter
- LEVIATHAN
- 자바
- 쉘 스크립트 기초
- API
- synology
- 메소드
- 안드로이드
- 클라우드
- 그라파나
- JSP
- 쉘 스크립트
- Android
- centos docker
- GUI
- Shell script
- System
- GPIO
- docker
- 프로젝트
- Linux
- 네트워크
- ACL
- Python
- 라즈베리파이
- nginx
- 리눅스
- Java
- 쉘 스크립트 if문
- RaspberryPi
- Today
- Total
IT창고
자바(JAVA) - GUI 프로그램 본문
자바의 GUI는 텍스트 기반 운영체제가 아닌 그래픽을 이용하여 사용자와 프로그램간의 상호작용을 할 수 있도록 해주는 인터페이스를 의미합니다. 자바에서 이러한 그래픽 프로그래밍을 지원하기 위해 있는것이 AWT입니다. AWT(Abstract Window Tookot)는 GUI프로그래밍을 제작하기 위해 자바에서 제공하는 라이브러리를 모아놓은 것입니다. AWT는 모든 GUI프로그램에서 사용되는 컴포넌트와 툴킷을 제공하며 JFC와 같은 Swing의 기본개념입니다. AWT는 운영체제와 응용프로그램 사이의 연결 라이브러리로서 실행되는 운영체제에 따라서 다르게 보이거나 동작 방식이 다를수있기에 이러한 단점을 극복하기 위해 개발된 것이 JFC(Java Foundation Class)입니다. AWT에는 Frame, Panel, Label이 있는데 Frame은 기본적으로 경계선,타이틀,메뉴,최소화,종료 등의 기능을 제공하고 Panel은 그룹별로 묶어 프레임에 붙일수있고 Label은 사격형 영역에 문자열을 표시할때 사용하는 컴포넌트입니다.
AWT를 기본적으로 구성해 보자면 아래의 소스와 같습니다.
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Main {
public static void main(String[] args) {
Frame frame = new Frame("프레임");
Label label =new Label("라벨");
frame.add(label);
frame.setSize(300, 300);
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() { //창을 닫을수있습니다.
@Override
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
결과
AWT의 기본적인 구성을 확인했다면 레이아웃을 알아보겠습니다.
AWT에는 레이아웃메니저가 있는데 그 중 대표적으로 FlowLayout, GridLayout, BorderLayout 등 이 있습니다.
FlowLayout은 설정한 값에 따라 컴포넌트들이 왼쪽에서 오른쪽, 오른쪽에서 왼쪽, 가운데에서 양쪽 등으로 정렬이 되는 레이아웃입니다.
FlowLayout 기본구성소스
Frame frame = new Frame("FlowLayout 프레임");
Label label =new Label("라벨");
Label label2 =new Label("라벨2");
Label label3 =new Label("라벨3");
frame.add(label);
frame.add(label2);
frame.add(label3);
FlowLayout fl= new FlowLayout();
fl.setAlignment(FlowLayout.LEFT);
frame.setLayout(fl);
frame.setSize(300, 300);
frame.setVisible(true);
결과
BorderLayout은 컨테이너를 East,West,Center,North,South 5개의 영역으로 나누고 각 영역에 하나의 컴포넌트만 배치할수있는 레이아웃입니다.
BorderLayout 기본구성소스
Frame frame = new Frame("FlowLayout 프레임");
BorderLayout bor =new BorderLayout();
frame.setLayout(bor);
Button b1 = new Button("b1");
Button b2 = new Button("b2");
Button b3 = new Button("b3");
Button b4 = new Button("b4");
Button b5 = new Button("b5");
frame.add("East", b1);
frame.add("West", b2);
frame.add("Center", b3);
frame.add("North", b4);
frame.add("South", b5);
frame.setSize(300, 300);
frame.setVisible(true);
결과
GridLayout은 행과 열을 만들어 컴포넌트들을 컨테이너 위에 순서대로 올리고 컨테이너 크기가 변경되면 컴포넌트들의 위치는 고정하고 크기는 모두 동일한 크기로 변하는 레이아웃입니다.
GridLayout 기본구성소스
Frame frame = new Frame("GridLayout 프레임");
GridLayout gri = new GridLayout(2, 3);
frame.setLayout(gri);
Button b1 = new Button("b1");
Button b2 = new Button("b2");
Button b3 = new Button("b3");
Button b4 = new Button("b4");
Button b5 = new Button("b5");
frame.add(b1);
frame.add(b2);
frame.add(b3);
frame.add(b4);
frame.add(b5);
frame.setSize(300, 300);
frame.setVisible(true);
결과
마지막으로 Panel에 대해 알아보겠습니다.
Panel은 간단하게 레이아웃과 동일하게 생각하면되는데 레이아웃을 올릴때 이 패널을 사용하면 다양하게 레이아웃을 구성해 볼수있습니다.
Panel 기본구성소스
Frame frame = new Frame("GridLayout 프레임 Panel사용");
GridLayout gri = new GridLayout(4, 1);
frame.setLayout(gri);
Panel p1 = new Panel();
p1.setLayout(new GridLayout(1, 2));
Button b1 = new Button("b1");
Button b2 = new Button("b2");
p1.add(b1);
p1.add(b2);
Button b3 = new Button("b3");
Button b4 = new Button("b4");
Button b5 = new Button("b5");
frame.add(p1);
frame.add(b3);
frame.add(b4);
frame.add(b5);
frame.setSize(300, 300);
frame.setVisible(true);
결과
여기까지 자바의 GUI에 대해 알아보았습니다.
'프로그래밍 > JAVA' 카테고리의 다른 글
자바(JAVA)실습 - GUI 계산기 (0) | 2017.09.12 |
---|---|
자바(JAVA) 실습 - GUI로 달력만들기 (0) | 2017.09.11 |
자바(JAVA)실습 - 클래스사용하기 (0) | 2017.09.02 |
자바(JAVA)실습 - 달력 만들기 (0) | 2017.08.22 |
자바(JAVA) 개발을 위한 메소드(Method) 모음2 (0) | 2017.08.18 |