- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我曾经使用下面的扫描器类通过 cmd 提示符来监听用户的输入,但我试图让 Java 应用程序通过使用 keyTyped 方法来监听文本。
public static void main(String[] args) throws IOException {
new AsteroidsGame();
InputStream inputstream = new InputStream() {
@Override
public int read() throws IOException {
return 0;
}
};
try {
FileOutputStream output = new FileOutputStream("HighScore.txt",true);
Scanner input = new Scanner(System.in);
PrintStream printStream = new PrintStream(output);
printStream.println(input.next() + " " + points);
printStream.close();
System.out.println("Success!");
}
catch(IOException e){
System.out.println(e);
}
}
我不知道如何处理让它监听击键并将字母组合成一个词的方法。 (这是获取游戏人名的一种方式)
@Override
public void keyTyped(KeyEvent e) {
if(lives == 0)
{
e.getKeyCode() = KeyEvent.???
}
}
任何建议都将不胜感激,因为 Java 库和 Internet 的其他部分在示例或帮助方面提供的内容非常少。
最佳答案
当按下可以转换为有效 Unicode 字符的文本键时,它会生成 keyTyped 事件。我们可以捕获它。向上、向下等键可以通过 e.getKeyCode() 事件类型进行处理。
public class SimpleKeyListener implements KeyListener {
StringBuilder sb = new StringBuilder();
@Override
public void keyTyped(KeyEvent e) {
sb.append(e.getKeyChar());
System.out.println(sb.toString());
}
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP) {
System.out.println("UP");
} else if(e.getKeyCode() == KeyEvent.VK_DOWN) {
System.out.println("DOWN");
}
}
}
这里有一个 hello world 来测试它:
public class HelloWorldSwing {
private static void createAndShowGUI() {
JFrame frame = new JFrame("Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addKeyListener(new SimpleKeyListener());
JLabel label = new JLabel("Hello Swing");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
关于java - 我如何在 Java 中使用 keyTyped?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45642622/
我想对 std::map<> 实例的键进行一些集合交集操作,而无需事先将键复制到 std::set<> 中。 API 中没有记录,但是有没有办法在 O(1) 时间内从 std::map<> 中提取 k
当我尝试运行程序并按下某个键时,我不断收到相同的错误。 该错误表明问题出在 keyTyped 函数中,但对我来说看起来不错。 你觉得怎么样? 代码: //Key Listener. private c
我试图在 jTextField 中只接受数字 (0...9) 和“:”(冒号)键,但它不接受冒号键。这是为什么? 我的代码是: private void horaInicioKeyTyped(java
我想将事件“setOnKeyTyped”的值存储在字符串中(以便稍后使用),但是当我将 keyEvent 的字符影响到我的字符串时,出现错误: “从内部类引用的局部变量必须是最终的或实际上最终的”
我只是想问一下,你是否可以在没有任何输入字段的情况下在 JFrame 中隐形输入,然后突然出现一个 Action ?就是想。如果是这样,这怎么可能? 最佳答案 我不知道如何直接在 JFrame 上执行
当我按下任意键时,我会收到 3 个事件:KeyPressed、KeyTyped 和 KeyReleased。对于 KeyPressed 和 KeyReleased 它知道 key 来自哪里,例如键盘。
随着 beta 5 的变化,我在下面的扩展中遇到了与 KeyType 和 ValueType 相关的错误。 extension Dictionary { func filter(predica
无法解决这个问题。我想检索使用 keyTyped 在文本字段中写入的文本并将 int 放在字符串上。但如果我这样做,它会给我一个空白字符串。我能做什么? textField_9.addKeyListe
您好,有一个 Jtable,其中有一列具有特定的单元格渲染模型。这种模型,只是在这一列中放置按钮而不是文本数据。 表格的第一个显示效果很好。当我使用更改内容顺序的函数时,仍会为此列调用模型(通过调用
我曾经使用下面的扫描器类通过 cmd 提示符来监听用户的输入,但我试图让 Java 应用程序通过使用 keyTyped 方法来监听文本。 public static void main(String[
这个问题在这里已经有了答案: KeyListener, keyPressed versus keyTyped (4 个答案) 关闭 9 年前。 我已经搜索过 KeyPressed 和 KeyType
我有一个 JTextField,我使用 setActionCommand(String s) 方法为其设置了一个 Action 命令。看来我只能在使用 actionPerformed 事件时才能获得此
我用这段代码来限制只能输入数字,但是如果我按下的第一个键是一个字母,代码让我输入那个字母,只有一次,然后当我擦掉它时我就不能再输入字母了,什么代码错了吗?我只想输入数字。 amount.addKeyL
问题:我无法通过左右箭头键移动可怜的吃 bean 人。我基本上尝试使用“差异”作为 pacman 设计的 x 坐标;如果“差异”改变,吃 bean 人就会移动。如果有人能对这款精彩的吃 bean 游戏
我有一个 JFrame(嗯,一个扩展 JFrame 的类),我想在按下 F5 键时执行一个操作。所以,我让这个类实现了 KeyListener。随之而来的是三种方法,keyPressed、keyRel
如何判断用户是否在 KeyTyped 方法内部按下了“Backspace”键?它们来自 arg0.getKeyChar() 的值不是 KeyEvent.CHAR_UNDEFINED,而 arg0.ge
Jtxtfield.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) {};
我收到一个问题: 通过存储类型的数据成员来编写 TreeMap 类的实现树集 > . 我很难我应该创建一个像 Treeset + 实现 Map 接口(interface)的树形图类,它们是什么意思“存
我的项目是关于创建一个虚拟键盘,当用户在键盘上键入相应的按钮时,该键盘上的按钮必须更改其颜色。即,如果我输入“e”,虚拟键盘上的字母“e”必须更改其颜色。 为了绘制键盘,我使用了 2D JButton
这个问题已经有答案了: How to remove a JLabel when I click a certain key on the keyboard? (1 个回答) 已关闭 7 年前。 这是我
我是一名优秀的程序员,十分优秀!