Я пишу скетч в Processing, и мне любопытно, как я могу получить положение окна ОС, в котором живет скетч. Если я использую getPosition()
(часть java.awt
), я получаю только положение окна просмотра в окне.
Обработка или Java: получить позицию окна?
Ответы (1)
Вы можете использовать getLocationOnScreen()
, унаследованный от java.awt.Component
, но сначала вам нужно убедиться, что апплет isShowing()
:
void draw(){
if(frame.isShowing()) println(frame.getLocationOnScreen());
}
или немного более графически:
void draw(){
if(frame.isShowing()) {
java.awt.Point pt = frame.getLocationOnScreen();
background(255);
rectMode(CENTER);
rect(map(pt.x,0,displayWidth,0,width),//use screenWidth instead of displayWidth in Processing 1.5.1 or older
map(pt.y,0,displayHeight,0,height),//use screenHeight instead of displayHeight in Processing 1.5.1 or older
10,10);
}
}
куда
Frame frame = ( (PSurfaceAWT.SmoothCanvas) ((PSurfaceAWT)surface).getNative()).getFrame();
(Для других средств визуализации, таких как P2D
или FX2D
, проверьте этот ответ)
person
George Profenza
schedule
16.12.2012
в классе PApplet нет метода с именем
isShowing()
- person ; 24.02.2021
@Yeppii хорошее замечание! Благодарю вас ! Эти методы принадлежат фрейму. Я обновил ответ выше
- person George Profenza; 24.02.2021