我正在编写一个简单的程序来测试基本的GUI。该程序在屏幕中间打印一个字母,并允许用户使用箭头键移动它。一切正常,但是当我尝试在程序开始时将字母居中时,getWidth和getHeight函数似乎没有返回正确的数字。这是包含我的Panel类的片段staticclassLinePanelextendsJPanel{intxCenter=getWidth()/2;intyCenter=getHeight()/2;privateintx=xCenter;privateinty=yCenter;privatecharkeyChar='A';publicLinePanel(){addKeyList
我想在按下CTRL-C时执行someStuff()。我写了一些代码,但它“不够好”。我能用它做什么?)//org.eclipse.draw2d.ShapegetShape(){....}getShape().addKeyListener(newKeyListener(){@OverridepublicvoidkeyPressed(KeyEventke){}@OverridepublicvoidkeyReleased(KeyEventke){/*ifCTRL-Cpressed*/if((ke.getState()&KeyEvent.CONTROL)!=0&&'c'==('a'+ke.ch
我在让我的KeyBoardFocusManger与我的全屏Window一起工作时遇到问题。无论如何,它只是不会获得键盘输入。我使用System.exit(0)和println()来查找对keypressed/released/typed方法的任何调用,但没有抛出任何错误。我试过KeyListeners;但在我读完this之后,我换成了KeyboardFocusManager,同样的事情仍然发生。我真的很绝望;据我判断,Window没有获得键盘的焦点?这是我的主要内容:publicstaticvoidmain(String[]args){EventQueue.invokeLater(ne
当匿名用户对我的涉及KeyListeners的回答投反对票并建议改用KeyBindings时,出现了这个问题。这位匿名用户告诉我,KeyListener接口(interface)是一个旧的AWT解决方案,不应使用。但是,我不知道我是否应该完全相信这些信息。我在各种网站上都进行了研究,包括oracle,但没有发现任何关于KeyListeners或KeyBindings的功能。我知道这两者执行类似的任务,但不确定“幕后”究竟发生了什么,可以这么说。我有点倾向于在未来的项目中使用KeyBindings,因为我获得的研究表明KeyListener接口(interface)要求相关组件具有焦点,
当我按下ENTER时,我的JTextArea开始了一个新行,我只想对doClick()方法做任何其他事情。我应该怎么做?textarea.addKeyListener(newKeyListener(){@OverridepublicvoidkeyPressed(KeyEvente){if(e.getKeyCode()==KeyEvent.VK_ENTER){button.doClick();}}@OverridepublicvoidkeyTyped(KeyEvente){}@OverridepublicvoidkeyReleased(KeyEvente){}});
当使用我的JPanel类中的KeyListener按下其中一个箭头键时,我正在尝试做一些事情。这是我的代码:publicclassTestPanelextendsJPanelimplementsKeyListener{publicTestPanel(){this.addKeyListener(this);this.setFocusable(true);this.requestFocusInWindow();}publicvoidkeyPressed(KeyEvente){if(e.getKeyCode()==KeyEvent.VK_RIGHT){System.out.println("
我有一个JFrame的子类,它使用从JPanel扩展的类publicclassHelloWorldextendsJPanelimplementsKeyListener我将HelloWorld对象添加到框架-app.add(helloWorld);。现在,当我按下任何键盘键时,KeyListener方法都不会被调用,并且helloWorld似乎没有窗口焦点。我也尝试调用helloWorld.requestFocusInWindow();但仍然没有响应。如何让它响应按键? 最佳答案 您是否将HelloWorld面板的KeyListene
我在Java中使用KeyListener编写了示例代码,我创建了一个JPanel,然后将其focusable设置为true,我创建了一个KeyListener,请求焦点,然后将KeyListener添加到我的面板。但是永远不会调用keyListener的方法。貌似虽然我请求了焦点,但它没有焦点。有人可以帮忙吗?listener=newKeyLis();this.setFocusable(true);this.requestFocus();this.addKeyListener(listener);classKeyLisimplementsKeyListener{@Overridepub
我知道如何实现一个关键的监听器;这不是问题。publicvoidkeyTyped(KeyEventevent){if(event.getKeyChar()==KEY_LEFT){cTDirection=LEFT;}if(event.getKeyChar()==40){cTDirection=DOWN;}if(event.getKeyChar()==39){cTDirection=RIGHT;}if(event.getKeyChar()==38){cTDirection=UP;}}LEFT_KEY/40/39/38应该放什么?当我创建一个keylistener并输入按键时,我相信我得到了
我正在用Java编写一个简单的程序,其中包含一个KeyListener,其中覆盖了以下KeyTyped方法:@OverridepublicvoidkeyTyped(KeyEvente){intkey=e.getKeyCode();System.out.println("TEST");if(key==KeyEvent.VK_KP_LEFT||key==KeyEvent.VK_LEFT){System.out.println("LEFT");//Callsomefunction}elseif(key==KeyEvent.VK_KP_RIGHT||key==KeyEvent.VK_RIGHT