<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

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

9장.key

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63138C0E520C0CCBAA5C6AE20C3B3B8AE28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

11장.key

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 04-UDP Programming.ppt

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

No Slide Title

Microsoft PowerPoint - 14주차 강의자료

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

강의자료

No Slide Title

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

Java Programing Environment

PowerPoint Presentation

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

Microsoft PowerPoint - Java-03.pptx

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

10장.key

Microsoft PowerPoint - 06-Chapter09-Event.ppt

슬라이드 1

PowerPoint 프레젠테이션

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

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

PowerPoint Presentation

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

슬라이드 1

PowerPoint 프레젠테이션

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

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

PowerPoint Presentation

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

Microsoft PowerPoint - java2-lecture5.ppt [호환 모드]

PowerPoint 프레젠테이션

PowerPoint Presentation

슬라이드 1

05-class.key

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

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

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

Chap12

PowerPoint Template

11-GUI.key

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

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

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

오버라이딩 (Overriding)

JAVA PROGRAMMING 실습 08.다형성

중간고사

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2

PowerPoint Presentation

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

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

Cluster management software

운동시뮬레이션 강의 소개

Cluster management software

Microsoft PowerPoint - Java7.pptx

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

ch09

10 이벤트 처리와 그래픽 프로그래밍.key

쉽게 풀어쓴 C 프로그래밍

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

PowerPoint Presentation

PowerPoint Presentation

Design Issues

쉽게 풀어쓴 C 프로그래밊

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

Microsoft PowerPoint - 12장_스윙 [호환 모드]

Microsoft PowerPoint - 2강

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

JMF3_심빈구.PDF

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

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

10-Java Applet

예제 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

02 C h a p t e r Java

Network Programming

쉽게

Microsoft PowerPoint - java2-lecture6.ppt [호환 모드]

Java Coding Standard

연습문제이론홀수정답

비긴쿡-자바 00앞부속

09-interface.key

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

rmi_박준용_final.PDF

Cluster management software

PowerPoint Presentation

fundamentalOfCommandPattern_calmglow_pattern_jstorm_1.0_f…

제11장 프로세스와 쓰레드

<4D F736F F F696E74202D205B4A415641C7C1B7CEB1D7B7A1B9D65D3130C0E5C0CCBAA5C6AEC3B3B8AE>

Transcription:

Power Java 제 20 장스윙컴포넌트 1 이번장에서학습할내용 텍스트컴포넌트 텍스트필드 텍스트영역 스크롤페인 체크박스 라디오버튼 스윙에서제공하는기초적인컴포넌트들을살펴봅시다.

스윙텍스트컴포넌트들 종류텍스트컴포넌트그림 텍스트필드 JTextField JPasswordField JFormattedTextField 일반텍스트영역 JTextArea 스타일텍스트영역 JEditorPane JTextPane 스윙텍스트컴포넌트들

상속계층구조 JTextComponent JTextComponent JTextField JTextField JTextArea JTextArea JEditorPane JEditorPane JFormattedTextField JFormattedTextField Fi JTextPane JTextPane JPasswordField JPasswordField 텍스트필드일반텍스트영역스타일텍스트영역 중간점검문제 1. 폰트를하나만사용할수있는메모장을생성하려면어떤클래스를사용하여야하는가? 2. 사용자가이미지나사운드파일을포함하고있는텍스트를생성하게하려면어떤클래스를사용하여야하는가?

JTextComponent 클래스 컴포넌트가가진데이터는 document라고하는이름의인스턴스에저장된다. document 는 MVC 에서모델 (Model) 에해당한다. 오려두기,, 복사하기,, 붙이기,, 삽입하기 와같은기본적인텍스트편집기능을제공한다. 이들기능들은메뉴와버튼들과연결될수있다. 단축키기능을제공한다. 무제한의되돌림기능 (undo) 과다시하기기능 (redo) 을제공한다. 교체가능한카렛과카렛변경리스터와내비게이션필터를제공한다. 문서필터를제공한다. JTextComponent 클래스 이러한기능들을제공하는클래스입니다.

JTextComponent 메소드

텍스트필드 import javax.swing.*; import java.awt.event.*; class MF MyFrame extends JFrame { private JButton button; private JTextField text, result; public MyFrame() { setsize(300, 130); settitle(" 제곱계산하기 "); setdefaultcloseoperation(jframe.exit_on_close); ti ON CLOSE) ButtonListener listener = new ButtonListener(); // 리스너객체생성 JPanel panel = new JPanel(); panel.add(new JLabel(" 숫자입력 : ")); text = new JTextField(15); text.addactionlistener(listener); panel.add(text); // 레이블생성 // 컬럼수가 15인텍스트필드생성 // 텍스트필드에리스너연결 panel.add(new JLabel(" 제곱한값 : ")); result = new JTextField(15); // 결과를나타낼텍스트필드 result.seteditable(false); // 편집불가설정 panel.add(result);

button = new JButton("OK"); button.addactionlistener(listener); panel.add(button); add(panel); setvisible(true); // 텍스트필드와버튼의액션이벤트처리 private class ButtonListener implements ActionListener { public void actionperformed(actionevent e) { if (e.getsource() () == button e.getsource() == text) ){ String name = text.gettext(); int value = Integer.parseInt(name); result.settext(" " + value * value); text.requestfocus(); t tf public class TextFieldTest extends JFrame { public static void main(string[] args) { new MyFrame();

중간점검문제 1. 텍스트필드에서엔터키나리턴키를치면발생하는이벤트는무엇인가? 2. 패스워드를입력받을때사용하는클래스는? 3. 텍스트필드에서 gettext() 로받은텍스트를정수로변환하려면어떤방법을써야하는가? 텍스트영역 텍스트영역 (TextArea): 여러줄의텍스트가들어갈수있는컴포넌트

import java.awt.*; import java.awt.event.*; import javax.swing.*; class MyFrame extends JFrame implements ActionListener { protected JTextField textfield; protected JTextArea textarea; public MyFrame() { settitle("text Area Test"); setdefaultcloseoperation(jframe.exit_on_close); ti ON CLOSE) textfield = new JTextField(30); textfield.addactionlistener(this); textarea = new JTextArea(10, 30); textarea.seteditable(false); add(textfield, BorderLayout.NORTH); add(textarea, BorderLayout.CENTER); pack(); setvisible(true); public void actionperformed(actionevent evt) { String text = textfield.gettext(); textarea.append(text ta t + "\n");") textfield.selectall(); textarea.setcaretposition(textarea.getdocument().getlength()); public class TextAreaTest extends JFrame { public static ti void main(string[] i args) { new MyFrame();

중간점검문제 1. 버튼을누르면 I've clicked" 라는문자열을텍스트영역에추가하는프로그램을설계하고작성하여보라. 2. 텍스트영역에다텍스트를추가하는메소드는? 스크롤페인 텍스트영역에스크롤바를만들려면스크롤페인에텍스트영역을넣어야한다. textarea = new JTextArea(10, 30); // 텍스트영역을생성한다. JScrollPane scrollpane = new JScrollPane(textArea); // 1

체크박스 JCheckBox 의메소드

import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; awt import java.applet.applet; import javax.swing.*; class MyFrame extends JFrame implements ActionListener { private JButton buttonok; private JCheckBox onion, cheese, tomato; public MyFrame() { settitle(" 체크박스테스트 "); setsize(300, 130); setdefaultcloseoperation(jframe.exit_on_close); JLabel label = new JLabel(" 햄버거에무엇을추가하시겠습니까?"); JPanel toppanel = new JPanel(); toppanel.add(label); add(toppanel, BorderLayout.NORTH); // 체크박스생성및추가 JPanel panel = new JPanel(); onion = new JCheckBox(" 양파 "); panel.add(onion); cheese = new JCheckBox(" 치즈 "); panel.add(cheese); tomato = new JCheckBox(" 토마토 "); panel.add(tomato); add(panel, BorderLayout.CENTER); // 버튼생성및추가 buttonok = new JButton("OK"); JPanel bottompanel = new JPanel(); bottompanel.add(buttonok); add(bottompanel, BorderLayout.SOUTH); buttonok.addactionlistener(this); setvisible(true);

public void actionperformed(actionevent e) { if (e.getsource() == buttonok) { String msg = ""; if (onion.isselected()) msg += " 양파 \n"; if (cheese.isselected()) msg += " 치즈 "; if (tomato.isselected()) msg += " 토마토 "; msg = " 선택한옵션은다음과같습니다.\n " + msg; System.out.println(msg); onion.setselected(false); cheese.setselected(false); tomato.setselected(false); t ts t l public class MyFrameTest extends JFrame { public static void main(string[] args) { new MF MyFrame();

라디오버튼 생성자와메소드 JRadioButton radio1 = new JRadioButton("Small Size ); JRadioButton radio1 = new JRadioButton("Small Size, true);

그룹핑하기 // 라디오버튼을생성한다. JRadioButton radio1 = new JRadioButton(" 선택 1"); JRadioButton radio2 = new JRadioButton(" 선택 2"); JRadioButton radio3 = new JRadioButton(" 선택 3"); // ButtonGroup 객체를생성한다. ButtonGroup group = new ButtonGroup(); // 라디오버튼들을 ButtonGroup 객체에추가한다. group.add(radio1); group.add(radio2); group.add(radio3); di import javax.swing.*; import javax.swing.border.border; import java.awt.event.*; import java.awt.*; class MF MyFrame extends JFrame implements Ati ActionListener Lit { private JRadioButton small, medium, large; private JLabel text; private JPanel toppanel, sizepanel, resultpanel; public MyFrame() { settitle(" 라디오버튼테스트 "); setsize(300, 150); setdefaultcloseoperation(jframe.exit_on_close); toppanel = new JPanel(); JLabel label = new JLabel(" 어떤크기의커피를주문하시겠습니까?"); toppanel.add(label); add(toppanel, BorderLayout.NORTH);

sizepanel = new JPanel(); small = new JRadioButton("Small Size"); medium = new JRadioButton("Medium Size"); large = new JRadioButton("Large Size"); ButtonGroup size = new ButtonGroup(); size.add(small); size.add(medium); size.add(large); small.addactionlistener(this); medium.addactionlistener(this); large.addactionlistener(this); sizepanel.add(small); sizepanel.add(medium); di sizepanel.add(large); add(sizepanel, BorderLayout.CENTER); resultpanel = new JPanel(); text = new JLabel(" 크기가선택되지않았습니다."); text.setforeground(color.red); resultpanel.add(text); l t) add(resultpanel, BorderLayout.SOUTH); setvisible(true); public void actionperformed(actionevent e) { if (e.getsource() == small) { text.settext("small 크기가선택되었습니다."); if (e.getsource() == medium) { text.settext("medium 크기가선택되었습니다."); if (e.getsource() == large) { text.settext("large 크기가선택되었습니다."); public class RadioButtonTest t extends JFrame { public static void main(string[] args) { new MyFrame();

경계만들기

Q & A