728x90
728x90

 

명품자바 9장 연습문제

LuxuryJava Chapter 09. (실습문제는 다음 글에 있습니다.)

 

| 연습문제 9-1 |  자바에서는 AWT 컴포넌트와 스윙 컴포넌트를 제공한다. 이들 중 어떤 것이 경량 컴포넌트이고, 어떤 것이 중량 컴포넌트인가? 그리고 차이점은?  #명품자바9장연습문제1번

swing 컴포넌트가 경량 컴포넌트이고, AWT 컴포넌트가 중량 컴포넌트이다. 경량 컴포넌트인 스윙은 자바언어로만 구성되어 있고 속도가 느리다. 운영체제의 자원을 빌리지 않고 직접 화면에 그리므로 이질적인 운영체제간에 발생한 버그를 자동적으로 해결한다. 실행 속도가 AWT 보다 느린 편이다. 중량 컴포넌트인 AWT는 해당 운영체제의 GUI를 빌려쓰는 형식이라 운영체제에 따라 다른 모양과 배치가 나타나며 속도가 빠르다. 그러나 운영체제에 따른 미묘한 버그가 발생하며 불규칙한 컴포넌트의 모양과 레이아웃 설정 문제가 발생한다.

 

 

| 연습문제 9-2 | 데스크톱에서 실행되는 GUI 응용프로그램 작성 시 AWT보다 스윙 사용을 권장하는 이유는? #명품자바9장연습문제2번

스윙 컴포넌트는 운영체제와 관계없이 항상 동일하게 작동하고 동일한 모양으로 나타나며 AWT 보다 나중에 개발되어 기능이 다양하고 모양도 화려하다. 또한 컴포넌트 코드를 모두 자바로 구현하여 운영체제에 부담을 주지 않기 때문이다.

 

 

| 연습문제 9-3 | 다음 중 스윙컴포넌트가 아닌 것은? #명품자바9장연습문제3번

1. JPanel     2. JTextField      3. JLabel      4. Button

 

 

| 연습문제 9-4 | 다음 중 컴포넌트는? #명품자바9장연습문제4번

1. JFrame      2. Font       3. Color      4. Graphics

 

 

| 연습문제 9-5 | 컴포넌트와 컨테이너에 대해 잘못 말한 것은? #명품자바9장연습문제5번

1. 컨테이너는 컴포넌트를 담을 수 있는 컴포넌트이다.
2. JPanel은 컨테이너로서 여러 개의 JButton 컴포넌트를 가진다.
3. JFrame은 최상위 컨테이너다.
4. 컴포넌트들은 컨테이너 없이도 출력된다.​

 

 

| 연습문제 9-6 | 컴포넌트와 컨테이너에 대해 잘못 말한 것을 모두 찾아라.

1. 배치관리자를 가지는 것은 컨테이너만의 고유 기능이며, 컴포넌트는 가질 수 없다.
2. 배치관리자는 자신이 소속된 컨테이너의 크기를 조절한다.
3. 컨테이너가 생성될 때 배치관리자가 없는 상태이므로 배치관리자를 설정해야 한다.
4. 한 컨테이너는 여러 개의 배치관리자를 가질 수 있다.
5. 배치관리자의 기능은 컨테이너에 포함된 컴포넌트들의 위치와 크기를 설정하는 것
6. 개발자는 자바에서 주어진 것 외 새로운 배치관리자를 만들어 사용할 수 있다.
7. 컨테이너가 배치관리자를 가지지 않도록 할 수 없다.

 

 

| 연습문제 9-7 | 200*300크기의 스윙프레임을 만든 코드이다. 빈칸에 필요한 코드를 채워라.

 

 

| 연습문제 9-8 | 스윙프레임을 작성한 코드이다. 빈칸에 필요한 코드를 채워라.#명품자바9장연습문제8번

 

 

| 연습문제 9-9 | 다음 지시에 따라 컨테이너 c에 배치관리자를 설정하는 코드를 작성하라. #명품자바9장연습문제9번

container c;
c.____________________

 

(1) 컴포넌트 사이의 수평수직 간격이 각각 3, 4픽셀인 BorderLayout
setLayout(new BorderLayout(3,4));

(2) 컴포넌트 사이의 수평수직 간격이 각각 5, 6픽셀이고 우측정렬하는 FlowLayout
setLayout(new FlowLayout(5,6));

(3) 컴포넌트 사이의 수평수직 간격이 각각 7, 8픽셀이고 행수 5, 열수 2인 GridLayout
setLayout(new GridLayout(7,8,5,2));

(4) 현재 등록된 배치관리자 삭제
setLayout(null);

 

 

| 연습문제 9-10 | 버튼 컴포넌트를 절대 위치에 배치하고자 한다. 주석을 참고해 빈칸을 완성하라. #명품자바9장연습문제10번

___________________________ // import 문

___________________________ // import 문

public class MyFrame ___________________________ {

public MyFrame(){

___________________________ ; // 컨텐트팬 알아내기

___________________________ ; // 컨텐트팬 배치관리자 제거

___________________________ ; // "click" 문자열의 버튼 컴포넌트 생성

___________________________ ; // 버튼 크기를 100*30으로 설정

___________________________ ; // 버튼 위치를 50,70으로 설정

___________________________ ; // 컨텐트팬에 버튼달기

setSize(300,300);

setVisible(true);

}

public static void main(String [] args){

new MyFrame();

}

}

728x90
728x90
블로그 이미지

coding-restaurant

코딩 맛집에 방문해주셔서 감사합니다.

,

v