所有密钥的Java KeyPressed

时间:2014-02-12 20:25:30

标签: java input awt keypress stringreader

在java中我正在创建一个应用程序,当激活它时(如果wantCommand = true),它将读取你按下它读取的键并将其添加到字符串中,然后使用Java.awt.Graphics,它绘制屏幕上的字符串...有人可以帮助我使用代码将字符串输入您键入的内容(并且可能还有删除,以防您搞砸了您输入的内容) 以下是我到目前为止的情况:

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;

public class slashCommand {
    public static boolean wantCommand = false;
    public static String commandLine = "kill";
    public static String getText () {
        //get the string in a for loop or something maybe
        return commandLine;
    }
    public static void render(Graphics g) {
        if (wantCommand) {
            g.setColor(new Color(0, 0, 0, 130));
            g.fillRect(Inventory.inv_bag[0].x - 100, Inventory.inv_bag[0].y + 116, Component.size.width, 10);
            g.setColor(new Color(255, 255, 255));
            g.setFont(new Font("Arial", Font.PLAIN, 10));
            g.drawString("/ " + commandLine, Inventory.inv_bag[0].x - 69, Inventory.inv_bag[0].y + 125);
        }
    }
}

2 个答案:

答案 0 :(得分:2)

你似乎还有很长的路要走。你需要:

  • 最重要的是一个GUI,最好是Swing而不是AWT,这样你的按键和字符串绘图就有了一个与之交互并显示数据的应用程序。
  • 附加到具有焦点的组件的KeyListener。请注意,我认为Key Bindings不适用于此。
  • 带有重写paintComponent(Graphics g)方法的JPanel。

答案 1 :(得分:0)

尝试将keyPressed事件侦听器注册到GUI;该事件告诉你哪个键被按下了哪个键可以传递

private void formKeyPressed(java.awt.event.KeyEvent evt)                                
{                                    
   System.out.println(evt.getKeyChar());
}