import javax swing import java awt event import

  • Slides: 40
Download presentation

스윙 컴포넌트의 공통 메소드 확인 사례 import javax. swing. *; import java. awt. event.

스윙 컴포넌트의 공통 메소드 확인 사례 import javax. swing. *; import java. awt. event. *; import java. awt. *; class My. Button. Listener implements Action. Listener { public void action. Performed(Action. Event e) { Object source = e. get. Source(); if(source == b 1) { System. out. println("버튼의 위치와 크기"); System. out. println("위치 = (" + b 1. get. X() + ", " + b 1. get. Y() + ")"); System. out. println("크기 = (" + b 1. get. Width() + "x" + b 1. get. Height() + ")"); public class Swing. APIEx extends JFrame { Container content. Pane; JLabel la; JButton b 1, b 2, b 3, b 4; Swing. APIEx() { set. Title("Swing 공통 메소드 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); b 1 = new JButton("위치와 크기 정보"); b 1. add. Action. Listener(new My. Button. Listener()); content. Pane. add(b 1); b 2 = new JButton("모양 정보"); b 2. set. Opaque(true); b 2. set. Foreground(Color. MAGENTA); b 2. set. Background(Color. YELLOW); b 2. set. Font(new Font("고딕체", Font. ITALIC, 20)); b 2. add. Action. Listener(new My. Button. Listener()); content. Pane. add(b 2); b 3 = new JButton("작동하지 않는 버튼"); b 3. set. Enabled(false); b 3. add. Action. Listener(new My. Button. Listener()); content. Pane. add(b 3); b 4 = new JButton("숨기기/보이기"); b 4. add. Action. Listener(new My. Button. Listener()); content. Pane. add(b 4); 4 } set. Size(250, 200); set. Visible(true); } } } JPanel c = (JPanel)b 2. get. Parent(); System. out. println("컨텐트팬의 위치와 크기"); System. out. println("위치 = (" + c. get. X() + ", " + c. get. Y() + ")"); System. out. println("크기 = (" + c. get. Width() + "x" + c. get. Height() + ")"); } else if(source == b 2) { System. out. println("폰트 = " + b 2. get. Font()); System. out. println("배경색 = " + b 2. get. Background()); System. out. println("글자색 = " + b 2. get. Foreground()); } else { if(b 1. is. Visible()) { b 1. set. Visible(false); b 2. set. Visible(false); b 3. set. Visible(false); } else { b 1. set. Visible(true); b 2. set. Visible(true); b 3. set. Visible(true); } } public static void main(String [] args) { new Swing. APIEx(); }

예제 11 -1 : JLabel 컴포넌트 생성 예 import javax. swing. *; import java.

예제 11 -1 : JLabel 컴포넌트 생성 예 import javax. swing. *; import java. awt. event. *; import java. awt. *; public class Label. Ex extends JFrame { Container content. Pane; Label. Ex() { set. Title("레이블 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); JLabel text. Label = new JLabel("사랑합니다. "); Image. Icon beauty = new Image. Icon("images/beauty. jpg"); JLabel image. Label = new JLabel(beauty); Image. Icon normal. Icon = new Image. Icon("images/normal. Icon. gif"); JLabel label = new JLabel("보고싶으면 전화하세요", normal. Icon, Swing. Constants. CENTER); content. Pane. add(text. Label); content. Pane. add(image. Label); content. Pane. add(label); set. Size(400, 600); set. Visible(true); 8} } public static void main(String [] args) { new Label. Ex(); }

예제 11 -2 : 3 개의 이미지 아이콘을 가진 버튼 만들기 import javax. swing.

예제 11 -2 : 3 개의 이미지 아이콘을 가진 버튼 만들기 import javax. swing. *; import java. awt. event. *; import java. awt. *; public class Button. Image. Ex extends JFrame { Container content. Pane; Button. Image. Ex() { set. Title("버튼에 아이콘 달기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); Image. Icon normal. Icon = new Image. Icon("images/normal. Icon. gif"); Image. Icon rollover. Icon = new Image. Icon("images/rollover. Icon. gif"); Image. Icon pressed. Icon = new Image. Icon("images/pressed. Icon. gif"); 보통 상태에 있는 동안 (normal. Icon. gif) 마우스가 버튼 위에 올라간 경우 (rollover. Icon. gif) JButton btn = new JButton("call~~", normal. Icon); btn. set. Rollover. Icon(rollover. Icon); btn. set. Pressed. Icon(pressed. Icon); content. Pane. add(btn); set. Size(250, 200); set. Visible(true); 11 } } public static void main(String [] args) { new Button. Image. Ex(); } 마우스가 눌러진 순간 (pressed. Icon. gif)

레이블과 버튼의 정렬(Alignment) 12 수평 정렬 � � 컴포넌트 영역 내에 이미지와 텍스트의 수평

레이블과 버튼의 정렬(Alignment) 12 수평 정렬 � � 컴포넌트 영역 내에 이미지와 텍스트의 수평 위치 void set. Horizontal. Alignment(int align) 버튼 영역 왼쪽정렬 Swing. Constants. LEFT 중앙정렬. Swing. Constants. CENTER 오른쪽정렬 Swing. Constants. RIGHT 수직 정렬 � � 컴포넌트 영역 내에 콘텐츠(이미지와 텍스트)의 수직 위치 void set. Vertical. Alignment(int align) 버튼 영역 위쪽정렬 Swing. Constants. TOP 중앙정렬 Swing. Constants. CENTER 아래쪽정렬 Swing. Constants. BOTTOM

예제 11 -3 : 체크박스 생성 예 import javax. swing. *; import java. awt.

예제 11 -3 : 체크박스 생성 예 import javax. swing. *; import java. awt. *; public class Check. Box. Ex extends JFrame { Container content. Pane; Check. Box. Ex() { set. Title("체크박스 만들기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); Image. Icon cherry. Icon= new Image. Icon("images/cherry. jpg"); Image. Icon selected. Cherry. Icon = new Image. Icon("images/selected. Cherry. jpg"); JCheck. Box apple = new JCheck. Box("사과"); JCheck. Box pear = new JCheck. Box("배", true); JCheck. Box cherry = new JCheck. Box("체리", cherry. Icon); cherry. set. Border. Painted(true); cherry. set. Selected. Icon(selected. Cherry. Icon); cherry. jpg(선택되지 않은 상태) 체크 박스를 선택하면 content. Pane. add(apple); content. Pane. add(pear); content. Pane. add(cherry); set. Size(250, 150); set. Visible(true); 15 } } public static void main(String [] args) { new Check. Box. Ex(); } selected. Cherry. jpg(선택된 상태)

예제 11 -4 : Item. Event를 활용하여 가격 합산하기 import javax. swing. *; import

예제 11 -4 : Item. Event를 활용하여 가격 합산하기 import javax. swing. *; import java. awt. event. *; import java. awt. *; public class Check. Box. Item. Event. Ex extends JFrame { Container content. Pane; JCheck. Box [] fruits = new JCheck. Box [3]; String [] names = {"사과", "배", "체리"}; JLabel sum. Label; int sum = 0; Check. Box. Item. Event. Ex() { set. Title("체크박스와 Item. Event 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); content. Pane. add( new JLabel("사과 100원, 배 500원, 체리 20000원")); for(int i=0; i<fruits. length; i++) { fruits[i] = new JCheck. Box(names[i]); fruits[i]. set. Border. Painted(true); content. Pane. add(fruits[i]); fruits[i]. add. Item. Listener(new My. Item. Listener()); } sum. Label = new JLabel("현재 0 원 입니다. "); content. Pane. add(sum. Label); set. Size(250, 200); set. Visible(true); } 17 class My. Item. Listener implements Item. Listener { public void item. State. Changed(Item. Event e) { int selected=1; if(e. get. State. Change() == Item. Event. SELECTED) selected = 1; else selected = -1; if(e. get. Item() == fruits[0]) sum = sum + selected*100; else if(e. get. Item() == fruits[1]) sum = sum + selected*500; else sum = sum + selected*20000; } } sum. Label. set. Text("현재 "+sum+"원 입니다. "); } public static void main(String [] args) { new Check. Box. Item. Event. Ex(); }

라디오 버튼 생성 과정 19 1. 버튼 그룹 객체 생성 Button. Group group =

라디오 버튼 생성 과정 19 1. 버튼 그룹 객체 생성 Button. Group group = new Button. Group(); 2. 라디오버튼 컴포넌트 생성 JRadio. Button apple= new JRadio. Button("사과"); JRadio. Button pear= new JRadio. Button("배"); JRadio. Button cherry= new JRadio. Button("체리"); 3. 라디오 버튼을 버튼 그룹에 삽입 group. add(apple); group. add(pear); group. add(cherry); 4. 라디오 버튼을 컨테이너에 삽입 container. add(apple); container. add(pear); container. add(cherry);

예제 11 -5 : 라디오버튼 생성 예 버튼 그룹 g에 속한 라디오 버튼들 import

예제 11 -5 : 라디오버튼 생성 예 버튼 그룹 g에 속한 라디오 버튼들 import javax. swing. *; import java. awt. *; public class Radio. Button. Ex extends JFrame { Container content. Pane; Radio. Button. Ex() { set. Title("라디오버튼 만들기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); Image. Icon cherry. Icon = new Image. Icon("images/cherry. jpg"); Image. Icon selected. Cherry. Icon = new Image. Icon("images/selected. Cherry. jpg"); Button. Group g = new Button. Group(); JRadio. Button apple = new JRadio. Button("사과"); JRadio. Button pear = new JRadio. Button("배", true); JRadio. Button cherry = new JRadio. Button("체리", cherry. Icon); cherry. set. Border. Painted(true); cherry. set. Selected. Icon(selected. Cherry. Icon); g. add(apple); g. add(pear); g. add(cherry); 초기 상태(배가 선택된 상태) content. Pane. add(apple); content. Pane. add(pear); content. Pane. add(cherry); 체리가 선택된 상태 set. Size(250, 150); set. Visible(true); 20 } } public static void main(String [] args) { new Radio. Button. Ex(); }

예제 11 -6 : Item. Event 활용, 사진 보여 주기 import javax. swing. *;

예제 11 -6 : Item. Event 활용, 사진 보여 주기 import javax. swing. *; import java. awt. event. *; import java. awt. *; public class Radio. Button. Item. Event. Ex extends JFrame { Container content. Pane; JRadio. Button [] radio = new JRadio. Button [3]; String [] text = {"사과", "배", "체리"}; Image. Icon [] image = { new Image. Icon("images/apple. jpg"), new Image. Icon(“images/pear. jpg"), new Image. Icon(“images/cherry. jpg")}; JLabel image. Label = new JLabel(); class My. Item. Listener implements Item. Listener { public void item. State. Changed(Item. Event e) { if(e. get. State. Change() == Item. Event. DESELECTED) return; if(radio[0]. is. Selected()) image. Label. set. Icon(image[0]); else if(radio[1]. is. Selected()) image. Label. set. Icon(image[1]); else image. Label. set. Icon(image[2]); } } Radio. Button. Item. Event. Ex() { set. Title("라디오버튼 Item Event 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Border. Layout()); JPanel panel = new JPanel(); panel. set. Background(Color. GRAY); Button. Group g = new Button. Group(); for(int i=0; i<radio. length; i++) { radio[i] = new JRadio. Button(text[i]); g. add(radio[i]); panel. add(radio[i]); radio[i]. add. Item. Listener(new My. Item. Listener()); } radio[2]. set. Selected(true); content. Pane. add(panel, Border. Layout. NORTH); content. Pane. add(image. Label, Border. Layout. CENTER); image. Label. set. Horizontal. Alignment(Swing. Constants. CENTER); 21 } set. Size(250, 200); set. Visible(true); } public static void main(String [] args) { new Radio. Button. Item. Event. Ex(); } set. Selected(true) 호출 로 인해 Item 이벤트가 발생하며 해당하는 이 미지 출력됨

예제 11 -7 : 간단한 텍스트 필드 만들기 import javax. swing. *; import java.

예제 11 -7 : 간단한 텍스트 필드 만들기 import javax. swing. *; import java. awt. *; public class Text. Field. Ex extends JFrame { Container content. Pane; Text. Field. Ex() { set. Title("텍스트 필드 만들기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); content. Pane. add(new JLabel("이름 : ")); content. Pane. add(new JText. Field(10)); content. Pane. add(new JLabel("학과 : ")); content. Pane. add(new JText. Field(“xxx 공학과")); content. Pane. add(new JLabel("주소 : ")); content. Pane. add(new JText. Field("서울시. . . ", 20)); } 24 } 초기화면 set. Size(350, 200); set. Visible(true); public static void main(String [] args) { new Text. Field. Ex(); } 사용자가 입력한 경우

스크롤 가능한 텍스트영역 만들기 27 7줄 20 문자 new JText. Area(“hello”, 7, 20); new

스크롤 가능한 텍스트영역 만들기 27 7줄 20 문자 new JText. Area(“hello”, 7, 20); new JScroll. Pane(new JText. Area(“hello”, 7, 20));

예제 11 -8 : JText. Area 컴포넌트 생성 예 텍스트필드에 입력 후 추가 버튼을

예제 11 -8 : JText. Area 컴포넌트 생성 예 텍스트필드에 입력 후 추가 버튼을 누른 경우 28 import javax. swing. *; import java. awt. event. *; import java. awt. *; public class Text. Area. Ex extends JFrame { Container content. Pane; Text. Area. Ex() { set. Title("텍스트 영역 만들기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. add(new My. Center. Panel(), Border. Layout. CENTER); set. Size(300, 300); 초기화면 set. Visible(true); } class My. Center. Panel extends JPanel { JText. Field tf; JButton btn; JText. Area ta; My. Center. Panel() { tf = new JText. Field(20); 버튼이 선택되면 ta의 btn = new JButton("추가"); 끝에 tf에 입력된 문자 btn. add. Action. Listener(new Action. Listener() { 열을 추가함 public void action. Performed(Action. Event e) { ta. append(tf. get. Text()+"n"); } }); 20 x 7 크기에 “hello”문 ta = new JText. Area("hello", 7, 20); 자열을 가진 JText. Area 컴포넌트 생성 add(new JLabel("아래 창에 문자열을 입력하고 버튼을 클릭하세요")); add(tf); add(btn); 스크롤바를 출력하기 add(new JScroll. Pane(ta)); 위해 JText. Area 컴포넌 } 트를 JScroll. Pane에 삽 } 입하고 JScroll. Pane 객 public static void main(String [] args) { 체를 패널에 삽입 new Text. Area. Ex(); } }

JList를 생성하는 방법 1. 객체 배열로 아이템 제공 String [] fruits= {"apple", "banana", "kiwi",

JList를 생성하는 방법 1. 객체 배열로 아이템 제공 String [] fruits= {"apple", "banana", "kiwi", "mango", "pear", "peach", "berry", "strawberry", "blackberry"}; JList str. List = new JList(fruits); 2. Vector로 아이템 제공 Vector v = new Vector(); v. add("apple"); v. add("banana"); v. add("kiwi"); JList v. List = new JList(v); 3. 빈 JList 컴포넌트를 생성하고 set. List. Data()로 아이템 제공 Image. Icon [] images = {new Image. Icon("images/icon 1. png"), new Image. Icon("images/icon 2. png"), new Image. Icon("images/icon 3. png"), new Image. Icon("images/icon 4. png") }; JList image. List = new JList(); image. List. set. List. Data(images); 4. 스크롤 지원 30 JList scroll. List = new JList(fruits); new JScroll. Pane(scroll. List);

예제 11 -9 : 다양한 리스트 컴포넌트 생성 예 import javax. swing. *; import

예제 11 -9 : 다양한 리스트 컴포넌트 생성 예 import javax. swing. *; import java. awt. *; public class List. Ex extends JFrame { Container content. Pane; String [] fruits= {"apple", "banana", "kiwi", "mango", "pear", "peach", "berry", "strawberry", "blackberry"}; Image. Icon [] images = {new Image. Icon("images/icon 1. png"), new Image. Icon("images/icon 2. png"), new Image. Icon("images/icon 3. png"), new Image. Icon("images/icon 4. png") }; List. Ex() { set. Title("리스트 만들기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); JList str. List = new JList(fruits); content. Pane. add(str. List); JList image. List = new JList(); image. List. set. List. Data(images); content. Pane. add(image. List); JList scroll. List = new JList(fruits); content. Pane. add(new JScroll. Pane(scroll. List)); set. Size(300, 300); set. Visible(true); 31 } } public static void main(String [] args) { new List. Ex(); }

예제 11 -10 : 콤보 박스 컴포넌트 만들기 예 import javax. swing. *; import

예제 11 -10 : 콤보 박스 컴포넌트 만들기 예 import javax. swing. *; import java. awt. *; public class Combo. Box. Ex extends JFrame { Container content. Pane; String [] fruits = {"apple", "banana", "kiwi", "mango", "pear", "peach", "berry", "strawberry", "blackberry"}; String [] names = {"kitae", "jaemoon", "hyosoo", "namyun"}; Combo. Box. Ex() { set. Title("리스트 만들기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); JCombo. Box str. Combo = new JCombo. Box(fruits); content. Pane. add(str. Combo); JCombo. Box name. Combo = new JCombo. Box(); for(int i=0; i<names. length; i++) name. Combo. add. Item(names[i]); } 33 } content. Pane. add(name. Combo); set. Size(300, 300); set. Visible(true); public static void main(String [] args) { new Combo. Box. Ex(); } add. Item() 메소드를 호출하여 아이템을 동적으로 삽입할 수 있다.

예제 11 -11 : Action 이벤트를 이용한 콤보 박스 활용 예 import javax. swing.

예제 11 -11 : Action 이벤트를 이용한 콤보 박스 활용 예 import javax. swing. *; import java. awt. event. *; import java. awt. *; public class Combo. Action. Ex extends JFrame { Container content. Pane; String [] fruits = {"apple", "banana", "kiwi", "mango"}; Image. Icon [] images = { new Image. Icon("images/apple. jpg"), new Image. Icon("images/banana. jpg"), new Image. Icon("images/kiwi. jpg"), new Image. Icon("images/mango. jpg") }; JLabel img. Label = new JLabel(images[0]); Combo. Action. Ex() { set. Title("리스트 만들기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); JCombo. Box str. Combo = new JCombo. Box(fruits); str. Combo. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { JCombo. Box cb = (JCombo. Box)e. get. Source(); int index = cb. get. Selected. Index(); img. Label. set. Icon(images[index]); } }); content. Pane. add(str. Combo); content. Pane. add(img. Label); set. Size(300, 300); set. Visible(true); 35 } } public static void main(String [] args) { new Combo. Action. Ex(); }

슬라이더, JSlider 36 슬라이더란? � � 일정 범위 내에서 마우스로 움직이면서 값을 선택하는 컴포넌트

슬라이더, JSlider 36 슬라이더란? � � 일정 범위 내에서 마우스로 움직이면서 값을 선택하는 컴포넌트 슬라이더 구성 요소 minimum(0) track 손잡이 maximum(200) 수직 슬라이더 (orientation = VERTICAL) label 슬라이더 생성 � 슬라이더의 디폴트 값 � orientation의 방향으로 구성된 슬라이더 생성 JSlider(int min, int max, int val) � 디폴트 슬라이더 생성 JSlider(int orientation) � 수평 슬라이더(orientation = HORIZONTAL) minimum=0, maximum=100, value=50인 수평 슬라이더 JSlider() � major. Tick. Spacing(50) minor. Tick. Spacing(10) value(100) minimum, maximum, value 값이 각각 min, max, val로 초기화된 수평 슬라이더 생성 JSlider(int orientation, int min, int max, int val) minimum, maximum, value 값이 각각 min, max, val로 초기화된 슬라이더 생성. 방향은 orientation

슬라이더의 모양 제어 37 슬라이더 방향 설정 � void set. Orientation(int orientation) orientation :

슬라이더의 모양 제어 37 슬라이더 방향 설정 � void set. Orientation(int orientation) orientation : JSlider. HORIZONTAL, JSlider. VERTICAL 최대 최소 값 설정 � void set. Maximum(int max) � void set. Minimum(int min) b가 true이면 label 출력 tick 보이기/감추기 void set. Paint. Ticks(boolean b) b가 true이면 눈금 출력 void set. Paint. Track(boolean b) � void set. Major. Tick. Spacing(int space) 작은 눈금 간격 지정 � b가 true이면 track 출력 큰 눈금 간격 지정 void set. Paint. Labels(boolean b) � track 보이기/감추기 � label 보이기/감추기 � void set. Minor. Tick. Spacing(int space) 슬라이더 값 제어 � void set. Vaule(int n) n이 슬라이더의 값이 되며 이에 따 라 슬라이더의 손잡이 위치가 변경 된다.

38 예제 11 -12 : JSlider로 슬라이더 생성 및 모양 제 어예 import javax.

38 예제 11 -12 : JSlider로 슬라이더 생성 및 모양 제 어예 import javax. swing. *; import java. awt. *; public class Slider. Ex extends JFrame { Container content. Pane; Slider. Ex() { set. Title("슬라이더 만들기 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); JSlider slider = new JSlider(JSlider. HORIZONTAL, 0, 200, 100); slider. set. Paint. Labels(true); slider. set. Paint. Ticks(true); slider. set. Paint. Track(true); slider. set. Major. Tick. Spacing(50); slider. set. Minor. Tick. Spacing(10); } } content. Pane. add(slider); set. Size(300, 100); set. Visible(true); public static void main(String [] args) { new Slider. Ex(); }

예제 11 -13 : JSlider와 Change이벤트를 활용한 색깔 다루기 import javax. swing. *; import

예제 11 -13 : JSlider와 Change이벤트를 활용한 색깔 다루기 import javax. swing. *; import java. awt. *; import javax. swing. event. *; public class Slider. Change. Ex extends JFrame { Container content. Pane; JLabel color. Label; JSlider [] sl = new JSlider [3]; Slider. Change. Ex() { } set. Title("슬라이더와 Change. Event 예제"); set. Default. Close. Operation(JFrame. EXIT_ON_CLOSE); content. Pane = get. Content. Pane(); content. Pane. set. Layout(new Flow. Layout()); color. Label = new JLabel(" SLIDER EXAMPLE "); for(int i=0; i<sl. length; i++) { sl[i] = new JSlider(JSlider. HORIZONTAL, 0, 255, 128); sl[i]. set. Paint. Labels(true); sl[i]. set. Paint. Ticks(true); sl[i]. set. Paint. Track(true); sl[i]. set. Major. Tick. Spacing(50); sl[i]. set. Minor. Tick. Spacing(10); sl[i]. add. Change. Listener(new My. Change. Listener()); content. Pane. add(sl[i]); } sl[0]. set. Foreground(Color. RED); sl[1]. set. Foreground(Color. GREEN); sl[2]. set. Foreground(Color. BLUE); color. Label. set. Opaque(true); color. Label. set. Background( new Color(sl[0]. get. Value(), sl[1]. get. Value(), sl[2]. get. Value())); content. Pane. add(color. Label); set. Size(300, 300); set. Visible(true); 40} class My. Change. Listener implements Change. Listener { public void state. Changed(Change. Event e) { color. Label. set. Background( new Color (sl[0]. get. Value(), sl[1]. get. Value(), sl[2]. get. Value())); } } public static void main(String [] args) { new Slider. Change. Ex(); }