* 스윙 컴포넌트에 마우스를 올리면 출력되는 문자열을 툴팁이라고 부른다.
툴팁은 사용자의 마우스가 있는 곳의 기능을 설명하기 위한 목적이며, 모든 컴포넌트가 툴팁을 가질 수 있다.
툴팁은 기본적으로 잠깐 나타났다가 사라진다.
* 모든 스윙 컴포넌트들이 툴팁을 가질 수 있으며 생성 방법 또한 단순하다.
간단히 JComponent의 setToolTipText(String msg) 메소드를 호출하여 툴팁 문자열 msg를 컴포넌트에 달아준다.
// New 버튼에 툴팁을 다는 Example
JButton b = new JButton("New");
b.setToolTipText("파일을 생성합니다.");
* ToolTipManager 클래스를 이용하여 툴팁과 관련된 시간을 제어할 수 있다.
툴팁에 관한 시간 제어는 모든 툴팁에 일괄적으로 적용되며 각 툴팁마다 관련 시간을 따로 제어할 수 없다.
1) ToolTipManager 객체 얻기
툴팁 시간 제어를 위해 우선 ToolTipManager 객체를 얻어야 한다.
ToolTipManager m = ToolTipManager.sharedInstance(); // ToolTipManager 객체 리턴
2) 툴팁 활성화
응용프로그램 내에 툴팁이 나타나도록 툴팁을 활성화할지 툴팁이 나타나지 않도록 툴팁을 비활성화할지 제어할 수 있다.
툴팁의 활성화/비활성화는 모든 툴팁에 일괄적으로 적용되며 개별 컴포넌트별로 제어할 수 없다.
ToolTipManager의 setEnabled(boolean b) 메소드를 이용한다.
m.setEnabled(false); // 툴팁이 나타나지 않도록 설정
// 인자를 true를 주면 모든 툴팁이 활성화 된다.
3) 초기 툴팁 출력 지연 시간 제어
사용자가 마우스를 컴포넌트 위에 올린 후, 툴팁이 출력되는 데까지 걸리는 지연 시간을 제어할 수 있다.
ToolTipManager의 setInitialDelay(int mills) 메소드를 호출하면 된다.
인자로 밀리초 단위의 시간을 지정한다.
이 시간 제어 역시 모든 컴포넌트에 일괄적으로 적용된다.
m.setInitialDelay(1000); // 마우스가 올라온 후 1000ms 후 툴팁이 출력되도록 설정
4) 툴팁 지속 시간 제어
툴팁이 켜져 있는 지속 시간을 제어할 수 있다.
ToolTipManager의 setDismissDelay(int mills)메소드의 인자로 밀리초 단위의 시간을 주어 제어한다.
m.setDismissDelay(1000); // 툴팁이 켜져 있는 지속 시간을 1000ms로 설정
'IT > 자바공부' 카테고리의 다른 글
자바 고급 스윙 컴포넌트, 모달 다이얼로그 & 모달리스 다이얼로그 (0) | 2022.08.11 |
---|---|
자바 고급 스윙 컴포넌트, 다이얼로그 JDialog (0) | 2022.08.10 |
자바 고급 스윙 컴포넌트, 툴바 ToolBar (0) | 2022.08.10 |
자바 고급 스윙 컴포넌트, 메뉴 만들기 (0) | 2022.08.10 |
자바 스레드 동기화(Thread Synchronization) (0) | 2022.08.10 |