簡體   English   中英

設置按鈕事件后的可聚焦性

[英]Setting Focusable After Button Event

好的,所以我有一個JButton重新啟動游戲。

private static class Clicked implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent event) {
        hero.setHealth(100);
        cl.show(cards, sGame);
    }
}

當我按下按鈕后,鍵盤監聽器不起作用。 我抬起頭,似乎窗戶正在失去焦點。 我已經可以設置setfocusable並將其添加到游戲面板中:

addKeyListener(new Keys());
setFocusable(true);
setDoubleBuffered(true);

按鈕事件發生后我該做什么?

窗口不會失去焦點,按鈕正在獲得焦點,使用KeyListener將其從組件中移開。

在調查中,您還應該發現KeyListener僅在組件可聚焦且具有焦點時才響應鍵事件。 這是KeyListener的已知限制...

同樣在調查中,您應該已經發現通常建議使用Key Bindings API來解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM