2015-01-31 3 views
-1

나는 SystemTray을 사용하는 응용 프로그램에서 작업하고 있습니다. 모든 것은 내 코드에서 잘됩니다. SystemTray 아이콘을 클릭하면 지정된 위치에 내 jFrame이 표시됩니다. 하지만 내 jFrame을 내 SystemTray 아이콘 바로 아래에 표시하고 싶습니다. 가능합니다. 그것을위한 몇 가지 코드를 제안하십시오. 내 OS (리눅스)에서 올바른 좌표를 제공하여 그것을 보여줄 수 있지만 다른 OS 또는 다른 화면 크기 시스템에서이 프로그램을 실행하면 내 코드가 실패합니다.JFrame을 원하는 위치에 표시

+0

* ".. 아이콘 주어진 위치에 내'jFrame'을 표시합니다."* JFrame (대문자주의)이며 위치를 제공하는 사람은 누구입니까? 절대로 답변하지 말고 [MCVE] (http://stackoverflow.com/help/mcve) (우리가 필요로하는 모든 대답)를 게시하십시오. –

+0

선생님, 제 질문이 마음에 듭니다. 미안합니다. – Pankaj

+0

나는 내 질문과 내가 원하는 것을 설명하겠습니다. 선생님은 내 응용 프로그램에서'SetLocation (x, y); '를 사용하여 주어진 좌표에서 열리는'JFrame'을가집니다. 그러나 나는이'JFrame'을'SystemTray' 아이콘 바로 밑에 보여주고 싶습니다. 그리고 내 문법 실수를 용서해주십시오. – Pankaj

답변

0

아는 한, 스윙을 사용하여 화면에 SystemTray 아이콘 좌표를 가져올 수 없습니다. 또 다른 해결 방법은 트레이 아이콘을 클릭 할 때 마우스 위치를 캡처하는 것입니다.

Point p = MouseInfo.getPointerInfo().getLocation(); 
int mouseX = (int) p.getX(); 
int mouseY = (int) p.getY(); 

당신이 당신의 키보드를 사용하여 트레이 아이콘으로 이동하려면이 솔루션은 도움이되지 않습니다 있음을 유의하십시오.

관련 문제