슬라이드 1

Similar documents
슬라이드 1

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

9장.key

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

gnu-lee-oop-kor-lec10-1-chap10

Microsoft PowerPoint - 04-UDP Programming.ppt

11장.key

강의자료

슬라이드 1

No Slide Title

Microsoft PowerPoint - EEL2 Lecture10 -Swing and Event Handling.pptx

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

No Slide Title

자바GUI실전프로그래밍2_장대원.PDF

Microsoft PowerPoint - 14주차 강의자료

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

1 수사 경과 수사 착수 배경 신용카드 및 현금영수증 결제승인 대행 서비스업체인 밴사와 대형 가맹점 간의 리베이트 수사 과정에서,밴 수수료로 창출되는 막대한 이익을 둘러싸고 밴 업계의 경쟁이 과열되고 있다는 점에 착안 관련 비리를 집중 내사한 결과,밴 사업자 선정을 위

Microsoft PowerPoint - ÀÚ¹Ù08Àå-2.ppt

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

PowerPoint Presentation

Java Programing Environment

Design Issues

PowerPoint Presentation

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

05-class.key

Microsoft PowerPoint - Java-03.pptx

10김묘선

오버라이딩 (Overriding)

PowerPoint Presentation


q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

JAVA PROGRAMMING 실습 08.다형성

gnu-lee-oop-kor-lec06-3-chap7

모든스윙컴포넌트에는텍스트옆에이미지를추가로표시할수있다. ImageIcon image = new ImageIcon("image.gif"); JLabel label = new JLabel(" 이미지레이블 "); label.seticon(image);

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

10장.key

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint Presentation

JTable과 MVC(Model-View-Controller) 구조 - 모델-뷰-컨트롤러구조는데이터의저장과접근에대한제공은모델이담당하고, 화면표시는뷰, 이벤트의처리는컨트롤러가하도록각역할을구분한구조이다. 즉, 역할의분담을통하여상호간의영향을최소화하고각요소의독립성을보장하여독자

JAVA PROGRAMMING 실습 05. 객체의 활용

Microsoft PowerPoint - 06-Chapter09-Event.ppt

슬라이드 1

2

(Microsoft PowerPoint - LZVNQBAJWGTC.ppt [\310\243\310\257 \270\360\265\345])

Microsoft PowerPoint - [JAVA프로그래밍]9장GUI

비긴쿡-자바 00앞부속

슬라이드 1

제11장 프로세스와 쓰레드

PowerPoint Template

WS12. Security

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

public class FlowLayoutPractice extends JFrame { public FlowLayoutPractice() { super("flowlayout Practice"); this. Container contentpane = getcontentp

슬라이드 1

Network Programming

PowerPoint Presentation

Microsoft PowerPoint - Java7.pptx

JAVA PROGRAMMING 실습 09. 예외처리

untitled

제8장 자바 GUI 프로그래밍 II

11-GUI.key

8장.그래픽 프로그래밍

쉽게 풀어쓴 C 프로그래밍

2

화판_미용성형시술 정보집.0305

제8장 자바 GUI 프로그래밍 II

PowerPoint Presentation

Microsoft PowerPoint - java1-lecture10.ppt [호환 모드]

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

PowerPoint 프레젠테이션

DB 에데이터저장을위한입력창설계 - JLabel, JTextField, JButton 을이용한입력창설계 - 2 -

슬라이드 1

Microsoft PowerPoint 자바-AWT컴포넌트(Ch8).pptx

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

2_안드로이드UI

5. 회 의내용 < 제 1호 안 : 2011학년도 법 안 회 제 철 산(안 )> 법인 사무국장의 성왼 보고에 이이 의장이 이사회 개회 용 선언하고 회계판려부장에 게 제 l 호 안인 학년도 입인 회계 결산(안)에 대한 성명융 지시함 회계판리부장이 2011 학년

Microsoft PowerPoint - 2강

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Spring Boot/JDBC JdbcTemplate/CRUD 예제

PowerPoint Presentation

Cluster management software

Cluster management software

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

전기설비의 검사˚점검 및 시험등

Microsoft Word - java18-1-final-answer.doc

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

02 C h a p t e r Java

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

2

Transcription:

13 장. 스윙사용방법 학습목표 레이아웃관리자 스윙구성요소 비트박스프로그램

스윙을알아봅시다

스윙구성요소 구성요소 (Component) 위젯 (widget) 이라고도부름 GUI에집어넣는모든것 텍스트필드, 버튼, 스크롤목록, 라디오버튼등 javax.swing.jcomponent 의하위클래스 대화형구성요소, 배경구성요소로나뉨 JButton JFrame JPanel JCheckBox JTextField

레이아웃관리자 레이아웃관리자 (layout manager) 특별한구성요소와연관된객체 구성요소내부에들어있는구성요소들을제어함 각배경구성요소마다레이아웃관리자가있음 종류에따라다른정책을사용함 JPanel panela = new JPanel(); JPanel panelb = new JPanel(); panelb.add(new JButton( button 1 )); panelb.add(new JButton( button 2 )); panelb.add(new JButton( button 3 )); panela.add(panelb); button 1 button 2 button 3 다중레이아웃

배치과정 1. 패널을만들고버튼추가 2. 각버튼의크기확인 ( 패널레이아웃관리자 ) 3. 크기수락여부결정 ( 패널레이아웃관리자 ) 4. 패널을프레임에추가 5. 패널의크기확인 ( 프레임레이아웃관리자 ) 6. 크기수락여부결정 ( 프레임레이아웃관리자 )

대표적인레이아웃관리자 BorderLayout 다섯개의지역 각지역마다하나씩의구성요소가들어감 프레임의기본레이아웃관리자 FlowLayout 왼쪽맞춤형태로왼쪽에서오른쪽으로, 위에서아래로배치됨 패널의기본레이아웃관리자 BoxLayout 수직또는수평방향으로배치

BorderLayout 북쪽 (NORTH) 서쪽 (WEST) 중앙 (CENTER) 동쪽 import javax.swing.*; import java.awt.*; (EAST) public class Button1 { public static void main(string[] args) { Button1 gui = new Button1(); gui.go(); } public void go() { JFrame frame = new JFrame(); JButton button = new JButton( click me ); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.getcontentpane().add(borderlayout.east, button); frame.setsize(200, 200); frame.setvisible(true); } } 남쪽 (SOUTH)

FlowLayout 워드프로세처럼왼쪽에서오른쪽으로, 위에서아래로추가된순서대로배치 import javax.swing.*; import java.awt.*; public class Panel1 { public static void main(string[] args) { Panel1 gui = new Panel1(); gui.go(); } public void go() { JFrame frame = new JFrame(); JPanel panel = new JPanel(); panel.setbackground(color.darkgray); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.getcontentpane().add(borderlayout.east, panel); frame.setsize(200, 200); frame.setvisible(true); } }

BoxLayout 수직방향으로추가된순서대로배치

바보같은질문은없습니다 왜패널에하는것처럼프레임에바로위젯을추가하지않나요? JFrame 은화면에뭔가를표시하기위한받침대역할을합니다. 다른스윙구성요소는순수한자바로만들어져있지만 JFrame 은디스플레이를직접접근해야하므로원시코드를사용합니다. JFrame 은창틀, 내용틀은그안에들어가는유리라고생각하면됩니다. myframe.setcontentpane(mypanel);

바보같은질문은없습니다 프레임의레이아웃관리자를바꿀수있나요? 프레임에서 BorderLayout 대신 FlowLayout 을쓰려면어떻게해야하나요? 가장쉬운방법은패널을만들고패널안에원하는 GUI 를만든다음앞에나온것과같은코드를써서그패널을프레임의내용틀로만드는방법입니다.

바보같은질문은없습니다 레이아웃관리자를쓰지않는방법은없나요? 구성요소마다 setlayout(null) 을호출하고정확한위치와크기를직접지정해도됩니다. 장기적인관점에서볼때레이아웃관리자를사용하는편이훨씬쉽습니다.

JTextField JTextField JTextField field = new JTextField(20); JTextField field = new JTextField( Your name ); System.out.println(field.getText()); field.settext( whatever ); field.settext( ); field.addactionlistener(myactionlistener); field.selectall(); field.requestfocus();

JTextArea JTextArea JTextArea text = new JTextArea(10, 20); JScrollPane scrollbar = new JScrollPane(text); text.setlinewrap(true); scroller.setverticalscrollbarpolicy(scrollpaneconstants.vertical_scrollba R_ALWAYS); scroller.sethorizontalscrollbarpolicy(scrollpaneconstants.horitontal_scr OLLBAR_NEVER); panel.add(scroller); text.settext( 새로넣을내용 ); text.append( button clicked ); text.selectall(); text.requestfocus();

JCheckBox JCheckBox JCheckBox check = new JCheckBox( Goes to 11 ); check.additemlistener(this); public void itemstatechanged(itemevent ev) { String onoroff = off ; if (Check.isSelected()) onoroff = on ; System.out.println( Check box is + onoroff); } check.setselected(true); check.setselected(false);

JList JList String[] listentries = { alpha, beta, gamma, delta, epsilon, zeta, eta, theta }; list = new JList(listEntries); JScrollPane scroller = new JScrollPane(list); scroller.setverticalscrollbarpolicy(scrollpaneconstants.vertical_scrollba R_ALWAYS); scroller.sethorizontalscrollbarpolicy(scrollpaneconstants.horizontal_scr OLLBAR_NEVER); panel.add(scroller); list.setvisiblerowcount(4);

JList JList list.setselectionmode(listselectionmodel.single_selection); list.addlistsectionlistener(this); public void valuechanged(listselectionevent lse) { if (!lse.getvalueisadjusting()) { String selection = (String) list.getselectedvalue(); System.out.println(selection); } }

비트박스프로그램

비트박스프로그램 256 개의체크상자, 16 개의레이블, 네개의버튼이있는 GUI 를만듭니다. 네개의버튼에대해 ActionListener 를만듭니다. 미디시스템설정 ( 자바 5.0 에서새로추가된 setloopcount() 메소드사용 ) Start 버튼을누르면 buildtrackandstart() 메소드가실행되면서 256 개의체크박스를확인하고미디트랙을구축하여연주를시작합니다. 사용자가 Stop 을누를때까지연주는계속됩니다.

숙제 본문을꼼꼼하게읽어봅시다. 실행할수있는코드는전부컴파일해서실행시키고조금씩고쳐봅시다. 모든연습문제를자기힘으로해결해봅시다. API 문서에서이장에나와있는클래스및메소드에대한내용을찾아봅시다. 비트박스프로그램에 clear 버튼을추가해봅시다.