2008. 8. 27. 15:25
Part 6. AWT - II 컴포넌트의 이벤트 처리(2)
2008. 8. 27. 15:25 in 수업/자바2JDK입문
===================================================================================
라디오 버튼 세 개를 만들고 이벤트 발생 시, 배경색을 변경하는 소스
===================================================================================
package training;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class FrameTest extends Frame implements ItemListener {
public void itemStateChanged(ItemEvent e) {
this.setTitle((String)e.getItem());
// 현재 이벤트를 받은 라디오 버튼을 구분해서 프레임의 배경색을 변경하시오.
if(e.getSource()==c1){
setBackground(Color.RED);
}
else if(e.getSource()==c2){
setBackground(Color.GREEN);
}
else if(e.getSource()==c3){
setBackground(Color.BLUE);
}
}
CheckboxGroup colorGp=new CheckboxGroup();
Checkbox c1,c2,c3;
FrameTest(){
setLayout(new FlowLayout());
add(c1=new Checkbox("빨강",colorGp,false));
add(c2=new Checkbox("초록",colorGp,false));
add(c3=new Checkbox("파랑",colorGp,false));
c1.addItemListener(this);
c2.addItemListener(this);
c3.addItemListener(this);
setSize(300,200);
setVisible(true);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
}
);
}
}
public class Ex01 {
public static void main(String[] args) {
new FrameTest();
}
}
===================================================================================
선택 컴포넌트와 아이템 이벤트
===================================================================================
package pack02;
import java.awt.BorderLayout;
import java.awt.List;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class FrameTest extends Frame implements ItemListener{
public void itemStateChanged(ItemEvent e) {
// 현재 선택된 이벤트 소스를 얻어옴
Object o=e.getSource();
List li=(List) o;
ta.append(li.getSelectedItem()+"\n");
}
List list;
TextArea ta;
FrameTest(){
add(list=new List(), BorderLayout.NORTH);
list.addItemListener(this);
add(ta=new TextArea(), BorderLayout.CENTER);
list.add("사과"); list.add("바나나");
list.add("오렌지"); list.add("파인애플");
list.add("토마토"); list.add("키위");
pack();
setVisible(true);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent arg0) {
dispose();
System.exit(0);
}
}
);
}
}
public class Ex01 {
public static void main(String[] args) {
new FrameTest();
}
}
===================================================================================
리스트 컴포넌트와 아이템 이벤트
===================================================================================
package pack02;
import java.awt.BorderLayout;
import java.awt.List;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class FrameTest extends Frame implements ItemListener{
public void itemStateChanged(ItemEvent e) {
// 현재 선택된 이벤트 소스를 얻어옴
Object o=e.getSource();
List li=(List) o;
ta.append(li.getSelectedItem()+"\n");
}
List list;
TextArea ta;
FrameTest(){
add(list=new List(), BorderLayout.NORTH);
list.addItemListener(this);
add(ta=new TextArea(), BorderLayout.CENTER);
list.add("사과"); list.add("바나나");
list.add("오렌지"); list.add("파인애플");
list.add("토마토"); list.add("키위");
pack();
setVisible(true);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent arg0) {
dispose();
System.exit(0);
}
}
);
}
}
public class Ex01 {
public static void main(String[] args) {
new FrameTest();
}
}
===================================================================================
라디오 버튼 세 개를 만들고 이벤트 발생 시, 배경색을 변경하는 소스
===================================================================================
package training;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class FrameTest extends Frame implements ItemListener {
public void itemStateChanged(ItemEvent e) {
this.setTitle((String)e.getItem());
// 현재 이벤트를 받은 라디오 버튼을 구분해서 프레임의 배경색을 변경하시오.
if(e.getSource()==c1){
setBackground(Color.RED);
}
else if(e.getSource()==c2){
setBackground(Color.GREEN);
}
else if(e.getSource()==c3){
setBackground(Color.BLUE);
}
}
CheckboxGroup colorGp=new CheckboxGroup();
Checkbox c1,c2,c3;
FrameTest(){
setLayout(new FlowLayout());
add(c1=new Checkbox("빨강",colorGp,false));
add(c2=new Checkbox("초록",colorGp,false));
add(c3=new Checkbox("파랑",colorGp,false));
c1.addItemListener(this);
c2.addItemListener(this);
c3.addItemListener(this);
setSize(300,200);
setVisible(true);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
}
);
}
}
public class Ex01 {
public static void main(String[] args) {
new FrameTest();
}
}
===================================================================================
선택 컴포넌트와 아이템 이벤트
===================================================================================
package pack02;
import java.awt.BorderLayout;
import java.awt.List;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class FrameTest extends Frame implements ItemListener{
public void itemStateChanged(ItemEvent e) {
// 현재 선택된 이벤트 소스를 얻어옴
Object o=e.getSource();
List li=(List) o;
ta.append(li.getSelectedItem()+"\n");
}
List list;
TextArea ta;
FrameTest(){
add(list=new List(), BorderLayout.NORTH);
list.addItemListener(this);
add(ta=new TextArea(), BorderLayout.CENTER);
list.add("사과"); list.add("바나나");
list.add("오렌지"); list.add("파인애플");
list.add("토마토"); list.add("키위");
pack();
setVisible(true);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent arg0) {
dispose();
System.exit(0);
}
}
);
}
}
public class Ex01 {
public static void main(String[] args) {
new FrameTest();
}
}
===================================================================================
리스트 컴포넌트와 아이템 이벤트
===================================================================================
package pack02;
import java.awt.BorderLayout;
import java.awt.List;
import java.awt.Frame;
import java.awt.TextArea;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
class FrameTest extends Frame implements ItemListener{
public void itemStateChanged(ItemEvent e) {
// 현재 선택된 이벤트 소스를 얻어옴
Object o=e.getSource();
List li=(List) o;
ta.append(li.getSelectedItem()+"\n");
}
List list;
TextArea ta;
FrameTest(){
add(list=new List(), BorderLayout.NORTH);
list.addItemListener(this);
add(ta=new TextArea(), BorderLayout.CENTER);
list.add("사과"); list.add("바나나");
list.add("오렌지"); list.add("파인애플");
list.add("토마토"); list.add("키위");
pack();
setVisible(true);
addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent arg0) {
dispose();
System.exit(0);
}
}
);
}
}
public class Ex01 {
public static void main(String[] args) {
new FrameTest();
}
}
===================================================================================
'수업 > 자바2JDK입문' 카테고리의 다른 글
Part 6. AWT - IV 입력관련 이벤트 처리 (5) | 2008.08.28 |
---|---|
Part 6. AWT - III 윈도우창에 메뉴바와 메뉴 만들기 (0) | 2008.08.27 |
Part 6. AWT - II 컴포넌트의 이벤트 처리(1) (0) | 2008.08.23 |
Part 6. AWT - I AWT를 이용한 GUI 작성 (0) | 2008.08.21 |
Part 5. 자바에서 자주 사용되는 클래스 IV - 컬렉션 클래스와 제네릭 (0) | 2008.08.20 |