我實現了所有必需的方法並添加了「實現KeyListener」並添加了addKeyListener和setFocus(true),但沒有得到任何關鍵響應。 JFrame包含我創建的畫布類。這是窗口類的構造函數。如何將關鍵字添加到JFrame子類
setBounds(0,0, width, height);
setIgnoreRepaint(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
add(MainCanvas.Instance());
this.getContentPane().addKeyListener(this);
pack();
setVisible(true);
if (thread == null)
{
thread = new Thread(this);
}
thread.start();
如果將關鍵字偵聽器添加到MainCanvas.Instance()而不是內容窗格中,會發生什麼情況? – MeBigFatGuy 2011-04-26 02:26:15
1)如果你的意思是'Canvas',則交換'JComponent'或'JPanel'。不要混用Swing和AWT(除非你知道你在做什麼,或者正在使用Java 7)。 2)爲了更快地獲得更好的幫助,請發佈[SSCCE](http://pscode.org/sscce.html)。 3)對'setBounds(int,int,int,int)'的調用是不可取的,並且通過對'pack()'的調用進一步向下調用。 – 2011-04-26 02:37:43