在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);
}
}
}
你似乎还有很长的路要走。你需要:
- 最重要的是GUI,最好是Swing而不是AWT,以便您的按键和字符串绘图具有与应用程序交互和显示数据的应用程序。
- 附加到具有焦点的组件的键侦听器。请注意,我认为键绑定不能很好地用于此。
- 具有重写的
paintComponent(Graphics g)
方法的 JPanel。
尝试将 keyPressed 事件侦听器注册到 GUI;该事件告诉按下了哪个键,您可以传递哪个键
private void formKeyPressed(java.awt.event.KeyEvent evt)
{
System.out.println(evt.getKeyChar());
}