JavaFX 8 - Screen.getVisualBounds () включает в себя панель задач - PullRequest
0 голосов
/ 12 января 2019

Я добавляю Canvas в развернутое окно и устанавливаю его высоту в соответствии с высотой, полученной от getVisualBounds(), но я думаю, что часть холста фактически находится за панелью задач.

double canvasWidth = Screen.getPrimary().getVisualBounds().getWidth() * 0.80;
double canvasHeight = Screen.getPrimary().getVisualBounds().getHeight();
canvas = new Canvas(canvasWidth, canvasHeight);
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.setFill(Color.BLACK);
gc.fillRect(0, 0, canvasWidth, canvasHeight);
gc.setFill(Color.RED);
gc.fillRect(0, canvasHeight-30, canvasWidth, 30);
gc.fillRect(0, 0, canvasWidth, 30);
root.setCenter(canvas);

Чтобы сделать это видимым, я добавил 30px красную полосу в верхней и нижней части холста. Вы можете видеть, что внизу отображается только небольшая часть панели, потому что остальная часть скрыта за панелью задач.

screenshot

Я использую Windows 10. Как я могу это исправить (не скрывая панель задач)? Есть ли что-то еще, что я должен использовать, кроме getVisualBounds()? Или мне придется вручную определять размер и положение панели задач? Если да, то как?

...