티스토리 뷰

Programming/Java

Java Swing 연습 예제

군자동꽃미남 2015. 12. 2. 21:57

1. 점그리기 

a) 마우스 왼쪽 드래깅을 이용하여 점을 그림.   b) 점의 개수를 화면에 표시함.   c) 마우스 오른쪽 드래깅을 이용하여 만든 사각형 내의 점을 지움.   


2. 선그리기  

a) 마우스 드래깅을 통해 선을 그림 (hint: 연속된 점들을 선으로 연결하면 그 릴 수 있음.)  

b) 창의 크기를 변화시키면, 그림의 크기가 변화되어 그린 내용의 전체가 항 상 표시된다. (hint: 점의 좌표를 실제 좌표가 아닌, 창 크기에 따른 비율로 표현해 볼 것. 예를 들어 크기 800x600 창의 중점의 좌표는 (400,300) 이 지만 이를 (0.5,0.5)라고 표현하면 창의 크기에 상관없이 표시할 수 있음)  


3. 사각형 그리기 및 색 바꾸기 

a) 마우스 드래깅을 통해 사각형을 여러 개 그림.  

b) Color라는 메뉴를 만들고, 세가지 색에 해당하는 radioButton식 아이템을 추가하여 세가지 색 중 하나를 결정하게 할 수 있으며, 이후 그리는 사각 형은 변경된 색으로 그려짐.  : 메뉴 생성 및 사용법은 교재 Ch.18의 27페이지 참고 (Ch.18은 수업홈페 이지에 pdf로 있음)  


4. 원그리기  

a) 마우스 왼쪽 버튼과 드래깅을 이용하여 원하는 크기의 원을 여러 개 그릴 수 있되, 클릭한 곳을 중심으로 드래깅 함에 따라 마우스 위치까지의 반지 름을 갖는 원을 그림 

b) 마우스 왼쪽 클릭 시 기존에 그려진 원의 내부를 클릭하면 원들이 선택될 수 있다 (선택된 원은 노랗게 된다)  

c) 원이 선택된 상태에서 드래깅을 하면 선택된 따라 움직인다.  


5. 리스트에 원 정보 표시 및 삭제 

a) 화면을 두 개로 나누어 각각 panel을 만들고 왼쪽 패널은 List Component 와 버튼을, 오른쪽 패널은 빈 상태로 만듦.  

b) 오른쪽 패널을 클릭하면 원들이 그려지며, 왼쪽 패널의 list component에 클릭한 좌표가 표시됨.  

c) list에서 선택할 수 있으며, 버튼을 통해 삭제할 수 있음.  : list component사용법은 교재 Ch.18의 1페이지 참고(Ch.18은 수업홈페이 지에 pdf로 있음)  


6. 타이핑하기  

a) 패널에 BorderLayout을 이용해 위쪽은 TextField를 중간엔 TextArea를, 아 래에는 label을 위치시킴 

b) TextField에 타자치고 엔터키를 누르면 그 내용이 TextArea에 표시됨.  : TextField 및 TextArea는 교재 Ch.17장에 설명이 있음.   


7. 문자 시계  

a) “시:분:초” 로 표현 되는 시계를 만듦 

b) 시간, 분, 초에 각 해당하는 버튼을 만들어 시간을 맞출 수 있게 함 

c) “02:12:05” 와 같이 시, 분, 초 각각 2자리씩 자리를 맞추어 표현함  


8. 원형 시계 

a) 7번 문제로부터 시작하여 시간을 원형 시계로 표현함  

b) 문자시계/원형시계를 번갈아 가며 보여줄 수 있는 toggle 버튼을 만듦   


9. 포인터 따라가기 

a) 마우스 포인터의 현재 위치를 중심으로 원을 그림  

b) 원의 크기가 시간에 따라 변함  

c) 원의 색이 시간에 따라 변함   


10. 그림 확대하기  

a) 화면에 lena.jpg를 원래 크기대로 표시함.   

b) 오른쪽에 100*100 크기의 영역이 3배로 확대된 그림이 표현되며, 마우스로 확대될 위치를 조절 함.  

c) 또한 마우스 휠을 이용하여 확대되는 영역의 크기를 조절할 수 있음.  : 마우스휠은 MouseWheelListener를 사용. 사용법은 검색해 볼 것.   


11. 사각형 움직이기 

a) 키보드의 방향키를 이용하여 사각형을 움직임 

b) 사각형이 벽에 닿으면 방향을 바꿔 튕겨 나옴.  


12. 원 떨어뜨리기  

a) 스페이스 바를 누르면 화면의 중앙 위쪽에서 원이 자유낙하 하며 바닥에 닿으면 튕겨 올라감.   

b) 스페이스 바를 계속해서 누를 때마다 다시 원이 위에서 떨어지되, 원의 개 수가 하나씩 증가한다. 또한 원들은 화면을 가로로 균일하게 등분하여 위 치함.   

c) 각 원들의 떨어지는 시작 시간이 왼쪽에서 오른쪽으로 갈수록 조금씩 늦춰 짐. 


Java_Examples.zip


'Programming > Java' 카테고리의 다른 글

String.split(...) - 문자열 파싱  (0) 2016.01.22
Java Graphics2D.drawImage  (0) 2015.12.02
JColorChooser 생성 방법.  (0) 2015.11.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
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
글 보관함