Java 为该组件构造函数之外的某个swing组件添加KeyListener对象时,KeyAdapter不会';行不通

Java 为该组件构造函数之外的某个swing组件添加KeyListener对象时,KeyAdapter不会';行不通,java,keylistener,Java,Keylistener,当我尝试为这个组件构造函数之外的某个swing组件添加一个KeyListener对象时,KeyListener在之后没有响应,为什么?例如: public class ActionViewer extends SimpleViewer implements ActionListener { public ActionViewer(Dimension __wndSize, String pgnPath,

当我尝试为这个组件构造函数之外的某个swing组件添加一个KeyListener对象时,KeyListener在之后没有响应,为什么?例如:

    public class ActionViewer extends SimpleViewer
                              implements ActionListener

    {
        public ActionViewer(Dimension __wndSize, String pgnPath, 
                            PerspectiveProjection __persp)
        {
            super(__wndSize, pgnPath, __persp);

            ...
            cMng=null;
            ...
        }
        ///
        public void setCamera(double xMin, double xMax,
                              double yMin, double yMax,
                              double zMin, double zMax)
        {
            if(!isCameraInit())
            {
                if(cMng==null)
                    cMng=new CameraControl();
                this.addKeyListener((KeyListener)cMng);
                fCamInit=true;
            }
            setCameraBounds(xMin, xMax, yMin, yMax, zMin, zMax);
        }
    ...
}
当我在main中调用setCamera时,什么都没有发生

...
ActionViewer scene = new ActionViewer(wndSize, pgnPath, persp);
scene.setCamera(xMin, xMax, yMin, yMax, zMin, zMax);
...

我认为初始化有问题,你能检查一下init监听器的位置吗?
try{}catch
all方法
setCamera
并打印所有问题,这应该能帮助你找到问题。

你的问题很模糊,至少对我来说很难回答。你能提供更多的上下文吗?你能把你的代码提炼成一个小的可编译单元来演示你的问题吗?您知道带有键侦听器的组件是否具有焦点(因为焦点是键侦听器工作的绝对要求)?通常,使用键绑定比使用键侦听器更好。你探索过这个选项吗?