본문 바로가기
IT/프로그래밍

명품 JAVA Programming 9장 연습문제 정답

by nutrient 2020. 12. 11.
728x90
728x170

명품 JAVA Programming 9장 연습문제 정답

 

명품 JAVA Programming 9장 연습문제 정답

 

1. AWT 컴포넌트는 중량 컴포넌트이며, Swing 컴포넌트는 경량 컴포넌트이다. 중량 컴포넌트는 운영체제(다른 말로 native)가 가진 GUI 자원을 할당받고 이를 이용하 여 화면에 출력되는 컴포넌트로서, 운영체제 자원을 소모하여 운영체제에 부담을 준다. 이에 반해 경량 컴포넌트란 운영체제의 자원을 활용하지 않고 그려지는 GUI 컴포넌트이다. 그러므로 AWT 컴포넌트는 운영체제에 따라 서로 다른 모양을 출력 될 가능성이 높지만, 경량 컴포넌트는 운영체제와 관계없이 동일한 모양으로 출력 된다. 또한 AWT 컴포넌트는 운영체제가 직접 화면에 그리기 때문에 그려지는 속도 가 상대적으로 빠르다.

2. 스윙 컴포넌트들은 AWT보다 모양이 예쁘고 다양하며 운영체제에 부담을 덜 주기 때문이다.

3. ④ Button

4. ① JFrame. Font, Color, Graphics는 컴포넌트가 아니고 AWT 패키지에 포함되어 GUI에 사용되는 객체들이다.

5. ④. 컴포넌트들은 컨테이너 없이도 출력된다.

6. 배치관리자에 대해 잘못 말한 것은 다음과 같다.

②. 배치관리자는 컴포넌트의 크기와 위치를 조절한다.

③. 컨테이너가 생성될 때 디폴트 배치관리자을 가진다.

④. 한 컨테이너는 오직 한 개의 배치관리자만 가질 수 있다.

⑦. 컨테이너가 배치관리자를 가지지 않도록 할 수 있다.

7.

import javax.swing.*; // 이곳에 필요한 import 문을 삽입하라. public class MyFrame extends JFrame { public MyFrame() { setTitle("hello"); // 프레임 타이틀로 "hello" 문자열 출력

setSize(200,300); // 프레임 크기를 200x300으로 설정 setVisible(true); // 프레임 화면 출력 } public static void main(String [] args) { MyFrame frame = new MyFrame(); } }

8.

import javax.swing.*; // 이곳에 필요한 import 문을 삽입하라. import java.awt.*; // 이곳에 필요한 import 문을 삽입하라. public class MyFrame extends JFrame { public MyFrame() { Container c = getContentPane() ; // 컨텐트팬 알아내기 c.setLayout(new FlowLayout()) ; // 컨텐트팬에 FlowLayout 배치관리자 설정 c.setBackground(Color.YELLOW); // 컨텐트팬 배경색을 노란색으로 설정 c.add(new JButton("click")); // 컨텐트팬에 "click" 버튼 달기 setSize(300,300); setVisible(true); } }

9. (1) c.setLayout(new BorderLayout(3, 4));

(2) c.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 6));

(3) c.setLayout(new GridLayout(5, 2, 7, 8));

(4) c.setLayout(null);

10.

import java.awt.Container; // 이곳에 필요한 import 문을 삽입하라. import javax.swing.*; // 이곳에 필요한 import 문을 삽입하라.

// 이곳에 필요한 import 문을 삽입하라. public class MyFrame extends JFrame { public MyFrame() { Container c = getContentPane(); // 컨텐트팬 알아내기 c.setLayout(null); // 컨텐트팬에 배치관리자 제거 JButton b = new JButton("click"); // "click" 문자열의 버튼 컴포넌트 생성 b.setSize(100, 30); // 버튼의 크기를 100x30으로 조절

b.setLocation(50, 70); // 버튼의 위치를 (50, 70)으로 조절 c.add(b); // 컨텐트팬에 버튼 달기 setSize(300,300); setVisible(true); } public static void main(String [] args) { new MyFrame(); } }

 

728x90
그리드형

댓글