본문 바로가기

Technote87

9주차 7번문제 P9_7 P9_6 프로그램을 수정하여 한 번 그려진 원은 지워지지 않고 모두 화면에 나타나게 하시오. CircleComponent package p9_7; import javax.swing.JComponent; import java.awt.geom.Ellipse2D; import java.awt.*; public class CircleComponent extends JComponent{ int cnt = 0; final int MAX = 2000; CircleComponent(){ setPreferredSize(new Dimension(400, 400)); ellipse = new Ellipse2D.Double[MAX]; } public void setCenterPosition(int x, int y){.. 2009. 5. 9.
9주차 6번문제 P9_6 마우스를 눌러 원을 그리는 프로그램을 작성하시오. 마우스 누름을 천천히 (더블클릭 아님!) 두 번 할 때마다 원이 하나씩 그려지게 하시오. 첫 번째 누름 위치는 원의 중심이 되고 두 번째 누르는 점은 원주 위에 있게 하시오. 새 원이 그려지면 기존 원은 없어집니다. 아래 뼈대를 참고하시오. public class CircleComponentViewer{ public static void main(String[] args){ CircleComponent component = new CircleComponent();// 그림이 그려질 컴포넌트 // 컴포넌트를 인자로 삼아 마우스리스너 구성자를 호출함에 유의! MouseListener listener = new MousePressListener(com.. 2009. 5. 9.
9주차 5번문제 P9_5 강의자료에 나오는 InvestmentViewer1 프로그램에서는 AddInterestListener가 inner class로 구현되어 있습니다. 이것을 수정하여 inner class가 아닌 일반 클래스로 만드시오. 힌트: AddInterestListener 구성자가 BankAccount와 JLabel을 파라미터로 갖도록 하면 됩니다. AddInterestListener package p9_5; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JLabel; public class AddInterestListener implements ActionListener{ public AddI.. 2009. 5. 9.
9주차 4번문제 P9_4 강의자료에 나오는 ButtonTester 프로그램을 수정하여 화면에 두 개의 버튼이 보이게 하고 각 버튼의 이름을 A, B로 하시오. 버튼을 클릭할 때마다 클릭된 버튼이 어떤 것인가에 따라 "Button A was clicked 1 time(s)!", "Button A was clicked 2 time(s)!", ..., 혹은 "Button B was clicked 1 time(s)!", "Button B was clicked 2 time(s)!", ... 메시지가 프린트되게 하시오. 리스너 클래스를 하나만 정의하고 그 인스턴스도 한 개만 구성하여 두 버튼의 리스너로 등록하시오. 힌트: 리스너 클래스를 아래와 같이 ButtonTester 클래스의 main 메소드 내에 inner class 형태로.. 2009. 5. 9.