Tag: keylistener

Keymap,InputMap,ActionMap,KeyListener – 选择重载

我无法找到关于所有这些之间关系的简明回答,以便我可以选择最佳实践并继续前进。 JTextComponent具有: 旧的addKeyListener(..) 。 我们编写一个KeyListener ,其方法可以在keyPressed(..) , keyTyped(..)等事件上调用,我们可以查询: event.getKeyCode() 。 addKeymap(..)和setKeymap(..) 。 Keymap有addActionForKeyStroke(..) ,它接受KeyStroke (我们可以通过调用指定字符或键代码的KeyStroke的静态方法获得)和Action ,它是一个带有铃声和口哨声的ActionListener 。 getInputMap(..)和getActionMap(..) 。 InputMap将KeyStroke (如上所示)映射到String , ActionMap将字符串映射到Action (如上所述)。 Java教程如何使用键绑定来讨论这个问题。 这是实现相同function的三种冗余方式。 除了比较优势/劣势之外,这还提出了这三种机制如何共存的自然问题? 哪些优先于其他?

如何使用java中的键移动矩形

我一直试图找出如何使用箭头键移动矩形,但似乎有问题。 我正在使用KeyListener来检测所有键输入。 我不知道如何使用KeyBinding,因此我不希望解决方案拥有它。 我打算在掌握KeyListener之后立即学习它。 请给我一些如何解决它的建议。 package expo; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFrame; import javax.swing.JPanel; public class Expo extends JPanel implements KeyListener{ int x = 0; int y = 0; @Override public void keyTyped(KeyEvent e) { //System.out.println(“Key Typed”); } @Override public […]

听取键/鼠事件

是否可以在没有用户选择gui的情况下监听键和鼠标事件? 我想制作一个在没有gui的情况下在后台运行的程序,并响应用户交互,例如按ctrl-t 。

按Enter键时,Textfield中的KeyListener不会触发

我正在尝试制作一个程序,可以将华氏度转换为java中的celcius。 在程序中我有2个标签和1个TextField用于输入。 我想在用户输入温度时按转换温度进行转换温度。 为此,我在我的文本字段中添加了一个关键监听器,但它不起作用。 当我按Enter时,听者根本不会开火。 这是我的代码。 public class TempConv extends JFrame{ private JLabel info; private JLabel result; private JTextField input; private String outcome; public TempConv(){ super(“Temperature Converter”); setLayout(new BorderLayout()); info = new JLabel(“Enter Fahrenheit Temperature”); add(info, BorderLayout.NORTH); input = new JTextField(12); add(input, BorderLayout.CENTER); result = new JLabel(“Temperature in Celcius is: ” + outcome); add(result, BorderLayout.SOUTH); […]

使用KeyListener移动矩形

我正在尝试使用KeyListener移动一个矩形。 我见过其他人使用相同的代码但由于某种原因我不能让它移动。 现在矩形确实出现了。 如果有什么东西我不知道,我不确定我是否忘了什么。 这是我的代码: import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.awt.Graphics; public class roomwars extends JPanel implements ActionListener, KeyListener { //public JPanel pane; public JFrame frame; public JButton start, help; public JTextField box; int x=0, y=0, velx =0, vely =0; Timer t = new Timer(5, this); public void run(){ frame = new JFrame(“ROOM […]

在Java中处理键盘键ALT + F4组合

我是一个Windows用户,当我按下ALT + F4时,我不想关闭我的jframe, public void keyPressed(KeyEvent e) { if (KeyEvent.VK_SPACE, java.awt.event.InputEvent.CTRL_DOWN_MASK){ } } 获得击键并处理/停止关闭或切换jframe 那我怎么能在java中处理这个keypressed组合,请帮助….

KeyPress:如何检测用户在应用程序运行时是否按下键盘上的“向下”箭头键

这是我迄今为止所拥有的……我正在使用它作为键绑定。 我想在应用程序运行时按“向下”箭头键,然后自动按下“向下”箭头键3次,然后在代码中按“Enter”键完成。 我知道这不是最好的解释,但很抱歉,如果你还是不明白,我会尽力解释一下。 这是代码: public class MyKeyListener extends KeyAdapter{ @Override public void keyPressed(KeyEvent evt){ } KeyListener keyListener = new KeyListener() { @Override public void keyPressed(KeyEvent keyEvent) { int keyCode = keyEvent.getKeyCode(); if(keyCode == 1005){ System.out.println(“So far, so good..”); } } @Override public void keyTyped(KeyEvent e) { throw new UnsupportedOperationException(“Not supported yet.”); } @Override public void […]

如何在java中检测箭头键?

我知道如何实现一个关键的监听器; 那不是问题。 public void keyTyped(KeyEvent event) { 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 / LEFT_KEY放在哪里? 当我创建一个keylistener并键入键时,我相信我得到了37 – 40.我不知道该放在那里只听箭头键。

我是否正确构建了此关键侦听器?

我问,因为我希望在用户点击输入时调用我的GamePanel类中的addShot()方法,“这会初始化一个代表从船上发射的导弹的镜头对象,但它没有做任何事情。是否有这里的可见性问题,还是我只是构造了关键事件和监听器关系错误?我只发布相关代码,但我可以在必要时发布其余的代码。 这是代码: public static class GameTest extends JFrame { private static final int WINDOW_WIDTH = 800; private static final int WINDOW_HEIGHT = 500; public GamePanel gamePanel; public GameTest() throws IOException { super(“Deep Fried Freedom”); setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(WINDOW_WIDTH, WINDOW_HEIGHT); setLayout(new BorderLayout()); gamePanel = new GamePanel(); add(gamePanel); center(this); setVisible(true); this.addKeyListener(new aKeyListener()); this.setFocusable(true); } // end constructor public […]

在Java中通过KeyTyped事件绘制两行

嗨我想在键盘上按h和v在面板中绘制水平和垂直轴。 我不知道……这是我的代码。 如何控制Keytyped事件 import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.KeyListener; import java.awt.event.KeyEvent; import javax.swing.JPanel; import java.awt.geom.Line2D; @SuppressWarnings(“serial”) public class DrawAxis extends JPanel implements KeyListener { private Graphics2D g2; private float x1; private float y1; private float x2; private float y2; public void DrawingAxis(float X1,float Y1,float X2,float Y2) { x1=X1; y1=Y1; x2=X2; y2=Y2; […]