앞의 문제에서 JAVA Swing을 통해 GUI 애플리케이션을 만드는 문제를 해결해보았을 것입니다.
자바에는 Swing 말고도 AWT(Abstract Window Toolkit)라는 또 하나의 대표적인 자바 GUI 개발 라이브러리가 있습니다.
오른쪽에 주어진 자바 소스 코드는 자바 AWT를 이용한 아주 간단한 메모장 애플리케이션을 구현하 것입니다.
기본적인 UI는 이미 만들어져 있으며 기능만 구현하면 됩니다.
이 코드를 실행해보면, 윈도우의 중앙에 문자열을 입력할 수 있는 TextField가 있고, 그 우측에는 "Save"라고 적혀있는 버튼이 하나 있습니다.
그리고 중앙 하단 부분에는 현재는 아무런 메시지가 없어서 보이지 않겠지만 memoLabel이라는 라벨 컴포넌트가 있습니다.
![](data:image/png;base64,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)
이 문제에서 구현해야 하는 기능은 다음과 같습니다.
1. "Save" 라고 쓰인 버튼을 누르면 TextField에 있는 문자열 값이 memoLabel에 쓰여진다.
2. TextField에 포커스가 있는 상태에서 엔터 키를 누르면 TextField에 있는 문자열 값이 memoLabel에 쓰여진다.
![](data:image/png;base64,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)
문제를 풀면서, 추가적으로 지켜주셔야 할 주의 사항이 있습니다.
1. 주어진 템플릿 코드에 존재하는 클래스를 삭제하거나, 클래스 명을 변경하거나, 클래스나 멤버 변수의 접근 지정자(public, protected 등..)를 변경하면 안된다.
2. ButtonClickListener 클래스와 EnterKeyListener 클래스 내부의 코드 작성 부분에만 코드를 작성하여 필요한 기능을 구현해야 한다.
이 조건을 어기게 되면 정상적으로 채점이 되지 않을 수 있으니 주의하세요!