각 콘트롤의 xy을 구하는 식은 아래줄 참고하면 됩니다.
Bounds textFieldOffset = textField.localToScene(textField.getBoundsInLocal()); // <<< offset 구하기.
System.err.println("############# : " + textFieldOffset);
결과====>
############# : BoundingBox [minX:178.0, minY:370.0, minZ:0.0, width:89.0, height:38.0, depth:0.0, maxX:267.0, maxY:408.0, maxZ:0.0]
설명
minX - textField 의 좌측선 위치.
maxX - textField 의 우측선 위치.
minY - textField 의 위쪽선 위치.
maxY - textField 의 아래쪽선 위치.
height - 콘트롤의 높이
화면 크기 구하기
Rectangle2D visualBounds = Screen.getPrimary().getVisualBounds();
Rectangle2D bounds = Screen.getPrimary().getBounds();
double taskbarHeight=bounds.getHeight()-visualBounds.getHeight();
System.err.println("#############bounds.getHeight() : " + bounds.getHeight());
System.err.println("#############visualBounds.getHeight() : " + visualBounds.getHeight());
System.err.println("#############taskbarHeight : " + taskbarHeight);
System.err.println("#############visualBounds : " + visualBounds);
System.err.println("#############bounds : " + bounds);
결과====>
#############bounds.getHeight() : 1200.0
#############visualBounds.getHeight() : 1160.0
#############taskbarHeight : 40.0 //콘트롤 height
#############visualBounds : Rectangle2D [minX = 0.0, minY=0.0, maxX=1920.0, maxY=1160.0, width=1920.0, height=1160.0]
#############bounds : Rectangle2D [minX = 0.0, minY=0.0, maxX=1920.0, maxY=1200.0, width=1920.0, height=1200.0]
//bounds
maxX=1920.0 - 모니터 가로
maxY=1200.0 - 모니터 세로
height=1200.0 - application 창의 높이
'개발 > JavaFX' 카테고리의 다른 글
javafx scene 위에 popup 띄우기 (0) | 2017.05.12 |
---|---|
javafx virtual keyboard 자동 바운스 간격 조절 처리. (0) | 2017.05.12 |
javafx Scene Builder TableView test data (0) | 2017.01.09 |
javafx Scene Builder listView test data (0) | 2017.01.09 |