我有类似于以下内容:值为的对象KeyEvent.VK_G
.如何从该对象获取关键字(作为a String
)?
是否有按 ? 的事件,例如keyPress(KeyEvent.VK_?)
在 Java 中?
我正在尝试使用Java中的Robot类在文本字段中键入一些文本.
我遇到的问题是,我无法发现反引键的整数值(键盘左侧的1).
我不知道它是KeyEvent类中的哪一个VK_常量.
起初我假设它是96,但使用机器人按下给我0
(可能96是小键盘零).
反引号的整数键码是什么?
我有两个文本字段(tf1和tf2),在其中使用KeyEvent获取键入的字符.
JTextField tf1 = new JTextField(10);
JTextField tf2 = new JTextField(10);
tf1.setFocusable(true);
tf2.setFocusable(true);
//regerstring for event
tf1.addKeyListener(new KeyHandler(tf1, tf2));
tf2.addKeyListener(new KeyHandler(tf1, tf2));
class KeyHandler extends KeyAdapter{
JTextField tf1;
JTextField tf2;
KeyHandler(JTextField tf1, JTextField tf2){
tf1 = this.tf1;
tf2 = this.tf2;
}
public void keyTyped(KeyEvent e){
char ch = e.getKeyChar();
System.out.println(e.getKeyLocation());
if(e.getSource() == tf1)
System.out.println("tf1");
else if (e.getSource() == tf2)
System.out.println("tf2");
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了KeyEvent类的getSource(),但它返回了JTextField的对象,我必须在tf1和tf2之间进行区分.
如何在keyTyped()中获取关联的textfiled引用
我试图获得一些基本的键盘输入功能,如箭头键.但是,我没有尝试似乎工作,我一直在使用KeyListener接口,检查输入的JPanel获得焦点,似乎没有错误.
public class PlayField extends JPanel implements KeyListener
{
private SpelModel mijnmodel;
private boolean rechts = false;
private boolean links = false;
public PlayField(SpelModel mijnmodelArg)
{
setBackground(Color.WHITE);
mijnmodel = mijnmodelArg;
this.setFocusable(true);
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g); //some methods that i've taken out of the example
drawStones(g,mijnmodel.getStenen());
drawPeddle(g,mijnmodel.getBat());
drawBall(g,mijnmodel.getBall());
}
@Override
public void keyPressed(KeyEvent e){
System.out.println("Key Pressed!!!");
}
//Called when the key is released
@Override
public void keyReleased(KeyEvent e){
System.out.println("Key Released!!!");
}
//Called when a key is typed …
Run Code Online (Sandbox Code Playgroud) 我是一个使用Java的初级程序员,我正在尝试制作一个游戏,你可以通过移动的箍扔盘.盘具有恒定的向下力,可以使用向上键向上移动; 然而,之前我甚至添加任何碰撞检测,我开始收到一个错误说Java编译找不到可变e
的KeyEvent
.我在网上到处看,我确信我只是犯了一个愚蠢的错误,但有人可以看看这个.
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.util.Random;
@SuppressWarnings("serial")
public class DiscHoopToss extends JPanel{
int x = 710;
int y = 150;
int xm = -3;
int ym = 1;
int xr = 2;
Random rng = new Random();
int r = rng.nextInt((220-20)+1)+20;
public DiscHoopToss() {
KeyListener listener = new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
if …
Run Code Online (Sandbox Code Playgroud) 根据我的理解,getCharacter()
的方法KeyEvent
应该返回一个char
类型。
例如,如果我必须检查键入的键是否是数字,我可以使用Character.isDigit(e.getCharacter())
not Character.isDigit(e.getCharacter().charAt(0))
。
e.getCharacter().length()
我还通过打印it always returns来检查返回字符串的长度1
。该字符串有任何解释或其他用法吗?
我需要一些关于我的java代码的帮助我是java的新手,我想要做的是一旦我按下一封信我想显示一些消息只是为了验证代码是否有效.使用javax swing库特别是keylistener和key事件,我不知道我做得对.这是我的代码:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
public class KeyStrokeButton{
public JFrame frame;
public JPanel panel;
public JButton btnfocus, btnrelease, btnwindow, btnancestor;
public JTextField text;
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable(){
public void run()
{
KeyStrokeButton mydesign = new KeyStrokeButton();
mydesign.design();
}
});
}
public void design()
{
panel = new JPanel();
panel.setLayout(null);
frame = new JFrame("Keystroke Tutorials");
frame.getContentPane().add(panel);
frame.setSize(250, 250);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
btnfocus = new JButton("<html><center>Focus");
btnfocus.setBounds(10, 10, 90, 80);
panel.add(btnfocus);
btnfocus.addKeyListener(new …
Run Code Online (Sandbox Code Playgroud) java ×8
keyevent ×8
keylistener ×4
swing ×4
event-driven ×1
events ×1
javafx ×1
jframe ×1
jtextfield ×1
object ×1
string ×1