以下のどちらのハンドラーも、キーを押しても実行されません。
public class Try_KeyboardInput_01 {
private static final Logger log = LoggerFactory.getLogger(Try_KeyboardInput_01.class);
@SuppressWarnings("serial")
public static void main(String[] args) {
new PFrame() {
@Override
public void initialize() {
PPath circle = PPath.createEllipse(-100, -100, 200, 200);
getCanvas().getLayer().addChild(circle);
circle.addInputEventListener(new PBasicInputEventHandler() {
@Override
public void keyPressed(PInputEvent event) {
log.info("Key pressed on circle");
}
});
getCanvas().getLayer().addInputEventListener(new PBasicInputEventHandler() {
@Override
public void keyPressed(PInputEvent event) {
log.info("Key pressed on layer");
}
});
getCanvas().addInputEventListener(new PBasicInputEventHandler() {
@Override
public void keyPressed(PInputEvent event) {
log.info("Key pressed on canvas");
}
});
}
};
}
}
機能を有効にする方法は?
アップデート
私が見たいくつかのデモでは、マウス ハンドラー内からキーボード フォーカスをオンにすることができます。しかし、コンピュータにマウスがない場合や、デフォルトでキーボード処理をオンにする必要がある場合、これは受け入れられません。
キーボード処理を明示的にオンにする方法は?
更新 2
特定のノード (マウスなし) にキーボード フォーカスを設定できるかどうかはまだわかりません。