我正在写第一个游戏,我想将用户名添加到高分图表中。获取用户输入的最佳方法是什么?除了使用JOption。
无需指定我持续不断地绘制游戏。也许我可以使用JTextField?
答案 0 :(得分:1)
假设您正在将游戏渲染到JComponent上,是的,您只需将JTextField添加到渲染器组件即可。或者,如果要自定义所有内容的外观,则可以渲染自己的文本字段。
要执行自定义渲染器:
在代码中的某处,存储文本输入框的位置。
Rectangle r = new Rectangle(200,200,250,30);
String text = "";
在渲染代码中:
public void paintComponent(Graphics g){
g.setColor(Color.blue);
g.fillRect(r.x, r.y, r.width, r.height);
g.setColor(Color.black);
// You can play with this code to center the text
g.drawString(text, r.x, r.y+r.height);
}
然后你只需要在构造函数的某处添加一个keylistener。
addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
text+=e.getKeyChar();
//you might not need this is you are rendering constantly
repaint();
}
});