질문과 답변
소프트웨어 자바관련질문드립니다.ㅠㅠ
2015.03.24 11:59
1) 두 개의 탭을 가진 탭팬을 만들어보자. 첫 번째 탭에는 두 개의 텍스트필드를 두고 정수를 두 개 입력받도록 한다. 두 번째 탭에는 두 수의 합을 출력하는 레이블 컴포넌트를 가진다. 사용자가 첫 번째 탭에서 두 개의 정수를 입력하고 두 번째 탭을 선택하면 두 수의 합이 레이블에 출력된다.
- 힌트 -
JTabbedPane은 Change 이벤트를 처리하는 리스너를 가질 수 있다. Change 이벤트는 사용자가 탭을 선택하여 활성화된 탭이 변경될 때 발생한다. JTabbedPane은 현재 선택된 탭의 컴포넌트를 리턴하는 getSelectedComponent() 라는 메소드를 지원한다. 그러므로 Change 리스너의 stateChanged() 메소드에서 다음과 같이 하여 선택된 탭을 알아낸다.
public void stateChanged(ChangeEvent e) {
JTabbedPane t = (JTabbedPane)e.getSource();
// 현재 선택된 탭의 컴포넌트
Component selectedTabComp = t.getSelectedComponent();
// 인덱스가 0인 탭의 컴포넌트
Component comp = t.getComponentAt(0);
}
2)툴바에 그림과 같이 학번을 입력하는 텍스트필드 컴포넌트를 삽입하고 툴바를 프레임의 하단에 부착하라
이 텍스트필드 컴포넌트에는 오직 숫자만이 입력되도록 하기 위해 사용자가 숫자가 아닌 키를 입력하면 그림과 같은 경고 메시지를 가진 경고 창을 출력하도록 하라 . 그림에서는 20110301 뒤에 f 키카 입력된 경우 출력되는 경고창을 보여준다.
* Hint
텍스트필드 컴포넌트에 Key 이벤트 리스너의 keyTyped() 메소를 작성하여 키를 구분하라. 그리고 숫자 키가 아닌 다른 키가 입력된 경우 이 키 이벤트를 무력화시키기 위해서는 KeyEvent의 consume() 메소드를 호출하면 된다.
이런문제인데.. 도대체 뭘 어찌해야될지 모르겠네요.ㅠㅠ
[여기]를 참고해서 했는데도 애러가 계속떠서 질문남깁니다.