Tag: keylistener

MouseListener / KeyListener无法正常工作(JPanel)

我正在做一个涉及JPanel中的鼠标和关键监听器的小项目。 不幸的是,当我使用鼠标/键盘时,没有一个方法被调用。 之前我曾使用过JPanels / JFrame / JApplet和JComponents。 代码段如下所示: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.io.File; import java.io.PrintWriter; import java.io.IOException; import java.io.FileNotFoundException; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.util.Scanner; public class Hello extends JPanel implements KeyListener, MouseListener{ JPanel panel = new JPanel(); JFrame frame = new JFrame(); public Hello(){ addKeyListener(this); addMouseListener(this); } public static […]

Java键盘输入 – 游戏开发

对于我正在为课堂创作的游戏,我有一个特定的“问题”。 游戏是“打破它”的实现。 为了在底部移动平台,我只使用了一个关键的监听器。 问题是在第一次按键之后,在平台开始移动之前存在短暂的“滞后”或“断续”。 我怎么能阻止它得到顺利的回应? 还有另一种方法而不是KeyListener吗? 键绑定? 这是关键的监听器实现 private class KeyControl implements KeyListener { private int dx = 20; public void keyPressed(KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_RIGHT) { if(dx 0 ) dx = -dx; gamePanel.movePlatform(dx); } if(e.getKeyCode() == KeyEvent.VK_SPACE) { System.out.println(“space”); gamePanel.play(); } if(e.getKeyCode() == KeyEvent.VK_ESCAPE) { gamePanel.pause(); } } } 这是移动平台的方法 public void movePlatform(int […]

Java KeyEvent方形运动

我有一段代码,当按下任何箭头键时会触发KeyEvent。 这反过来导致正方形在屏幕上移动。 现在我注意到当我按住键时,方块移动但是如果你理解我的意思,那么在最初移动到后续移动之后的时间很长 我将如何减少这个时间? 谢谢! import java.awt.*; import javax.swing.*; import squarequest.sprites.*; import java.awt.event.*; public class GamePanel extends JPanel{ private final int HEIGHT = 400; private final int WIDTH = 600; private Square square; private Circle circle; public GamePanel(){ addKeyListener(new DirectionListener()); setBackground (Color.white); setPreferredSize(new Dimension(WIDTH, HEIGHT)); setFocusable(true); square = new Square(); } public void paintComponent(Graphics g){ […]

当有一个包含JButton的子组件时,JPanel不会监听键事件

我正在为我的大学项目编写地图编辑器。 而且我遇到了一个问题,即地图面板不应该正在监听关键事件。 当我添加一个ToolBarPane(扩展JPanel)时,会发生这种情况,例如JButton,JComboBox,它实现了ActionListener,地图面板(将JPanel扩展)一起放到了Frame(我使用了BorderLayout)。 我有System.out.println语句来测试是否收到按键,并且它不打印,如果我删除了ToolBar,键监听器再次工作,那么mouseListenner被禁用就像keyListener一样,这意味着我可以’ t处理新闻事件等,但mouseListener工作正常,我仍然可以处理鼠标移动事件。 这是一个没有ToolBarPane的屏幕截图 http://img684.imageshack.us/img684/3232/sampleku.png 请注意,您可以使用鼠标将图像放在地图上,您也可以像使用激光工具一样使用鼠标选择图像,按数字键可以在不同的图像之间切换,这样可以正常工作,直到我添加显示的ToolBarPane像这样: img291.imageshack.us/img291/8020/failve.png(请在此之前添加http,我只能发布一个超链接) (我不能在这里发布图片,因为我是新用户) 使用ToolBarPane,我无法再处理关键事件。 我想这可能是因为焦点已经以某种方式转移到该面板,但根本不确定。 身体是否知道这一点并且可以帮助我? 非常感谢

KeyListener无法正常工作(requestFocus没有修复它)

我试图在没有youtubevideo帮助的情况下制作我的第一个游戏。 我看过很多关于制作java游戏的youtube系列,他们从来没有我想做的事情,所以经过充分的学习,我开始制作自己的游戏。 我知道足够的Java可以绕过,到目前为止一切都没有问题。 我试过寻求一些帮助,但我能找到人们说尝试的东西: setFocusable(true); requestFocus(); 然而,这对我没有用。 我知道大多数人不想只查看我的所有代码,但我认为它是可管理的(它还没有那么多代码)。 我打算把它变成一种类似蛇的游戏,你变得更大而不是更长,而你是一只豚鼠(现在用橙色矩形代表)而不是蛇。 Game.java: package com.kaperly.game; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JPanel; public class Game extends JFrame { private static final long serialVersionUID = 1L; public static JFrame frame; public static JPanel panel; public static int width = 1000; public static […]

KeyListener在Java swing中没有响应

我正在制作游戏,我有一个完美的主菜单。 当我选择其中一个选项时,它会在新窗口中显示另一个菜单。 但是在这个新窗口中,KeyListener没有响应。 如果我单击返回主菜单窗口,KeyListener仍然在那里工作。 这是代码: 主菜单: import java.awt.*; import java.awt.event.*; import java.awt.image.*; import javax.swing.*; import java.io.*; import javax.imageio.*; public class DisplayMainMenu extends JFrame implements KeyListener{ static int width = 799, height = 463; int arrowPos = 310; boolean clear = true; BufferedImage menu = null; BufferedImage arrow = null; LevelSkip test = new LevelSkip(); boolean […]

Java KeyListener keyPressed方法触发太快

如果你使用java KeyListener类,你知道如果按住一个键keyPressed将触发一个KeyEvent ,然后大约半秒后将非常快地多次触发相同的键。 我想知道是否有办法防止KeyEvents射击太快。 我希望它们以大约每500毫秒一次的恒定速率运行。

JPanel不响应KeyListener事件

我有一个JFrame的子类,它使用从JPanel扩展的类 public class HelloWorld extends JPanel implements KeyListener 我在框架中添加了一个HelloWorld对象 – app.add(helloWorld); 。 现在,当我按下任何键盘键时,不会调用KeyListener方法,并且似乎helloWorld没有窗口焦点。 我也尝试过调用helloWorld.requestFocusInWindow(); 但仍然没有回应。 如何使其响应按键?

鼠标运动监听器只在一个方向

我一直在研究Java中的鼠标运动监听器无法将其完全排序,因为我希望对象朝着鼠标所指向的屏幕方向移动但不幸的是当鼠标位于applet窗口内时,该对象只向单一方向移动。 这是我的代码如下.. import java.awt.*; import java.awt.geom.*; import java.util.*; import java.applet.*; import java.awt.event.*; import javax.swing.*; public class MouseOver extends Applet implements KeyListener, MouseListener, MouseMotionListener { private int[] Xpoints = { 0, -5, 5 }; private int[] Ypoints = { -10, -2, -2 }; private double xpos, ypos; private Polygon poly; int polyrot = 0; private int […]

如何在JTextField上修复keylistener?

我有一个Java swing应用程序,所以我有一个带KeyListener的简单文本框,我有一个条形码阅读器(USB),当条形码阅读器在这个文本框上写下数字时,我会把代码交给我处理。 但我有问题,代码可以有4到13位数。 所以我有这个代码 public class KeyListenerCodice implements KeyListener{ public void keyPressed(KeyEvent click) { } public void keyReleased(KeyEvent keyEvent) { printIt(“Released”, keyEvent); } public void keyTyped(KeyEvent keyEvent) { printIt(“Typed”, keyEvent); } private void printIt(String title, KeyEvent keyEvent) { if(textCodice.getText().length()>=4 && textCodice.getText().length()<=13) { if(mappaArticoliScontrini.get(textCodice.getText().toUpperCase())!=null){ inserisciProdotto(); } } } } 但有时代码有13位数,但如果条形码阅读器不是很快,则keylistener只处理4或5或6位数,这是一个问题。 我该如何修理它?