Tag: keylistener

KeyListener的多键检测(java)

如何实现KeyListener以便我可以创建一个双人系统,其中一个人使用’。’ 和’/’来控制一个角色,而另一个人可以使用箭头键而不会相互打断? 我现在的方式是,当一个人按住箭头键时,他们的角色会移动,但是当你使用其他玩家的控制时,第一个人的角色会停止。

按下其他键后,JButton键侦听器不会触发

我正在用Java创建一个虚拟钢琴。 到目前为止,我有两个按键的动作监听器,它们大部分都在工作,而不是一个接一个。 例如,我在键盘上点击q然后按下c键并播放ac,这就是它应该做的事情。 但是我想通过按键盘上的w来敲击钢琴上的d键,如果我已经按下q键,它就不会这样做。 // c key JButton btnC3 = new JButton(“”); btnC3.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_Q) { btnC3.doClick(); } } }); btnC3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // play c try { keys.playNote(Notes.c3.getValue()); } catch (InterruptedException e1) { e1.printStackTrace(); } catch (InvalidMidiDataException e2) { […]

在java中写入unicode(Sindhi)的keyListener的实现问题

我希望通过这种方式在jTextField上实现keyListener来使用unicode: textField.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent evt) { // TODO Auto-generated method stub } @Override public void keyReleased(KeyEvent arg0) { // TODO Auto-generated method stub } @Override public void keyPressed(KeyEvent evt) { // TODO Auto-generated method stub char var = evt.getKeyChar(); if(var == ‘a’){ String values = urlTextField.getText() + Sindhi.ALIF; urlTextField.setText(values); } } […]

Java KeyPressed – 如果其他键也被按下,则无法检测空格键是否被按下

正如标题所示,在我的Java游戏中,我无法检测到我是否同时按下空格键和其他键。 例如,空格键是拍摄键,箭头键使玩家移动。 如果我按下向上箭头键和向左箭头键以及空格键,那么它应向上和向左射击子弹。 但是,在使用多个System.out.println(); 为了调试,我发现如果我按下两个键,如果按下它就不会检测到空格键。 public void keyPressed(KeyEvent e) { if(e.getKeyCode() == 32){ pressingSpacebar = true; System.out.println(“Spacebar pressed true”); } // Up arrow key if(e.getKeyCode() == 38){ up = true; System.out.println(“Up = true”); } // Down arrow key if(e.getKeyCode() == 40){ down = true; System.out.println(“Down = true”); } // Right arrow key if(e.getKeyCode() == 39){ […]

循环内的监听器不允许更改局外布尔标志

在我之前的post之后,我写了一个听众: @Override public void keyTyped(KeyEvent keyEvent) { PolygonFiller polyFiller = new PolygonFiller(); char key = keyEvent.getKeyChar(); final boolean runForever = true; switch(key) { /** * Fill the polygons */ case FILL_POLYGON: { if (greenLightForFilling == true) { while (runForever) { fillPolygon(polyFiller); KeyListener listener = new KeyListener() { public void keyPressed(KeyEvent keyEvent) { char keyOther = […]

使用java中的MVC设置KeyListeners

我试图用Java编写自己的计算器。 我认为最好为我的代码实现MVC(模型视图控制器)设计。 我有一些基础工作,计算器确实工作,问题是我无法弄清楚我在哪里听错键的实现。 目前,我可以使用动作侦听器单击按钮并使用数值更新字段,并使用按钮进行加,减,乘,除以及清除。 所以我现在真正想到的唯一一件事是试图允许用户(我自己)选择使用键盘上的数字键盘将值附加到字段中,无论如何这里是我的代码。 这个观点 package Calculator; import java.awt.Color; import java.awt.Dimension; import java.awt.event.ActionListener; import java.awt.event.KeyListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; public class CalcFrame extends JFrame{ private Dimension d = new Dimension(300,300); JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(); JButton equals = new JButton(“=”); JButton addBtn = […]

使用键盘向下键在Jpanel上移动BALL

我有一个类mypanel从jpanel延伸,我使用图形并制作一个球。 第二个类是Main,我在这里创建一个JFrame并将面板添加到框架。 Main中还有另一个类MKeyListener,它从KeyAdapter类扩展,我在那里处理键盘事件。 我在Main类中创建了一个Jpanel类的对象,并使用jpanel类注册了MkeyListener类。 现在我想在jpanel上向下移动键盘键,对接球没有向下移动,键盘是我的程序代码。 import java.awt.*; import java.awt.event.*; import javax.swing.*; class mypanel extends JPanel{ int n=0; int m=0; int i=170; int j=340; int a=60; int b=20; public void paintComponent (Graphics g){ super.paintComponent(g); Graphics2D g2= (Graphics2D)g; g2.setColor(Color.green); g2.fillOval(n,m,10,10); } } public class Main { JFrame frame; mypanel p; int x,y; public Main (){ x=0; y=0; […]

JApplet和KeyListener

我正在为我的计算机科学课开发一个应用程序。 任务是编写计算器但不使用JTextField或JTextArea 。 我想出了实现KeyListener的想法,它在appletviewer和JFrame中都运行良好,但在Google Chrome (可能还有其他浏览器) 中根本不起作用 。 这是我的代码片段。 //- BinaryCalc.java import javax.swing.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; public class BinaryCalc extends JApplet implements KeyListener { private JPanel panel; public BinaryCalc() { super(); panel = new JPanel(); this.add(panel); panel.addKeyListener(this); panel.requestFocusInWindow(); } @Override public void init() { JOptionPane.showMessageDialog(this, “applet”); panel.setFocusable(true); panel.requestFocus(); } public void keyPressed(KeyEvent […]

KeyListener没有到达我的switch语句

我有这个代码: import java.awt.Color; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JApplet; public class applet extends JApplet implements KeyListener, MouseListener{ int a = 0; int b = 0; public void init(){ setSize(500,500); addKeyListener( this ); addMouseListener( this ); } public void paint(Graphics g){ g.setColor(Color.BLUE); g.fillRect(a, b, 400, 400); } @Override public void […]

KeyBindings和KeyListeners之间的区别

如果您可以这样做,KeyBindings有什么意义: // Imports public void Test { JButton button1; JButton button2; JButton button3; … Test() { button1 = new JButton(); button1.addKeyListener(this); button2 = new JButton(); button2.addKeyListener(this); button3 = new JButton(); button3.addKeyListener(this); … } public void keyPressed(KeyEvent e) { } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { Object src = e.getSource(); if […]