Tag: keylistener

如何让JTextField响应回车键

所以我希望得到一个JTexField,当按下回车键并将光标放入其中时,将文本放入JTextArea中。 有人可以帮忙吗?

Java Jbutton KeyListener

我有一个3×3网格的jbuttons标记为1-9代表数字键盘。 我添加了一个actionlistener和keylistener,它们都调用相同的函数,所以如果他们点击btn1或在数字键盘上按1,就会发生同样的事情。 问题是当我在小键盘上按1时,我想看到btn1按下它,如果这是有意义的。 搜索没有引导我做任何事情,有没有名字?

如何使用Java中的KeyListener移动Polygon对象

我正在研究2D游戏作为一个学习项目,我遇到了一个问题。 我无法弄清楚如何使用JPanel(添加到JFrame中)中的KeyListener移动Polygon对象。 我尝试过frog.translate(int x,int y)方法,它不会更新位置。 我也试过手动更改arrays坐标。 我的代码示例如下: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class Board extends JPanel implements KeyListener { private Frog frog; public Board() { setBackground(Color.GREEN); addKeyListener(this); setFocusable(true); setFocusTraversalKeysEnabled(false); } @Override public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; frog = new Frog(); // Frog […]

如何消除keyPress的延迟?

所以我已经看到了一些关于这个的线程,我需要一些关于如何具体修复它的帮助。 当您按住某个键时,Java将读取第一个按键,然后会有一个小的延迟,然后它将连续读取按键,直到您释放该键。 public void keyPressed(KeyEvent key) { int code = key.getKeyCode(); if (code == KeyEvent.VK_DOWN) { //Do stuff } if (code == KeyEvent.VK_LEFT) { //Do stuff } if (code == KeyEvent.VK_RIGHT) { //Do stuff } if (code == KeyEvent.VK_UP) { //Do stuff } } 那是我目前的代码。 我听说要解决这个问题,你可以创建一个快速检查按键的计时器,但我不确定该怎么做。 会在这里感谢一些帮助,或者是否有更好的解决方案。

即使在持有密钥时,也只在Java中创建一个KeyEvent

我需要知道是否有可能只在按下一个键时才发生一次动作,即使该按键被按下一段时间,如果有可能,怎么办? 这是我现在的代码: if(e.getKeyCode() == KeyEvent.VK_A) { attack = true; moveX = -5; draw(moveX, moveY); players.get(username).setImageIcon(“attack-left”); } 这是在keyPressed方法中,并且在keyReleased中我将moveX设置为0.因此,如果按下A,则图像应该向左5个单位并停止,无论A是否仍被按下或已经被按下释放。 但这不起作用,它只是继续向左移动。 我尝试使用keyTyped但它没有用。 在此先感谢,如果需要,我可以提供更多代码。

使用KeyListener进行Pong控件

我让我的乒乓球比赛工作遇到了一些麻烦,这个项目开始只是制作一个球有物理但后来我决定做更多的工作 我有那个球来回反弹,除了W和S之外的所有按键都不能控制玩家一,上下箭头键不控制玩家2 public void keyPressed(KeyEvent e){ if(e.getKeyCode() == e.VK_UP){ p2Y -= 3; System.out.println(“UP”); } if(e.getKeyCode() == e.VK_DOWN){ p2Y += 3; System.out.println(“Down”); } if(e.getKeyCode() == e.VK_W){ p1Y -= 3; System.out.println(“Up”); } if(e.getKeyCode() == e.VK_S){ p1Y += 3; System.out.println(“down”); } repaint(); } 它甚至不会显示系统打印消息 我不知道它只是代码的这一部分是问题还是它的其他地方 如果它在其他地方,则链接到此文件的其余部分http://pastebin.com/TJbLBxL7 整个代码: import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.ArrayList; public class Pong […]

如何通过按键盘上的DELETE删除JTable中的一行

我知道我可以使用KeyListener来检查是否按下DELETE (char) 127 ,但是如何将keyListener添加到JTable中的selectedRow? 编辑: 我试过这个,但它不起作用: myTable.addKeyListener(this); … public void keyPressed(KeyEvent e) { if(e.getKeyCode() == 127 && myTable.GetSelectedRow() != -1) { btnRemove.doClick(); // this will remove the selected row in JTable } }

无论JComponent是什么焦点,你如何为JFrame进行键绑定?

我们如何为JFrame创建键绑定,而不管帧中的焦点是什么? 我已经看过这个问题: 你如何为java.awt.Frame创建键绑定? 我尝试为JFrame的根窗格设置输入映射,但是当焦点位于JTextArea上时,即使editable为false,它也不起作用。 使密钥绑定在整个JFrame中工作的最简单方法是什么?

Java swing计时器仅工作一次,然后keyEvents快速连续触发 – 按住键

所以我把它设置为KeyEvents和计时器的测试。 第一次按下右箭头键时,事件将等待5秒,就像定时器设置为,然后打印KeyPressed 。 然而,在第一次打印之后, KeyPressed将快速连续打印,就像我按下键时收集的KeyEvents的长队列一样。我不希望所有按住右箭头键的额外按键导致。 我想按住右箭头键,每5秒钟只接收一次println 。 任何帮助是极大的赞赏。 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; public class GameBoard extends JPanel { public Ninja ninja; public GameBoard() { addKeyListener(new TAdapter()); setFocusable(true); setBackground(Color.BLACK); setDoubleBuffered(true); ninja = new Ninja(); } public void paint(Graphics g) { Graphics2D g2 = (Graphics2D) g; g2.drawImage(ninja.getImage(), 20,20,null); } […]

在Swing中,如何在没有特定组件的情况下应用KeyListener

通常我们将Key Listener应用于特定组件,如文本字段,密码字段等。但我想概括这个监听器行为适用于所有人。