Java游戏中的文本输入没有Swing

时间:2017-09-19 13:39:37

标签: java swing input jtextfield

我正在制作2D RPG游戏,目前我正在弹出一个对话窗口,提示用户输入他们想要在商店购买/出售的特定商品的数量。为此,我需要用户能够提供一个数字作为输入。

我已经阅读过有关JTextFields的一些文档,但我在这个游戏中主要使用自己的图形,使用Graphics对象绘制到屏幕上并且不想使用标准Java JTextField摆动图形,因为它不合适。我有自己的,完全正常工作的KeyManager处理程序类,用于处理游戏中的键盘输入。你知道有哪些方法可以让我制作自定义文本字段,这些字段是可聚焦的(输入)?

我遇到的另一个问题是:是否可以删除JTextField边框并将背景设置为完全透明,因此只有用于键入的光标可见,我可以添加自己的"文本框" ?

最后:我的游戏以JFrame打开,图形被绘制到Canvas。应该将JTextField添加到JFrame,添加到JPanel,对吗?如果是这种情况,我的DialogueWindow类是否应该扩展一个新的JFrame并包含一个JPanel来添加JTextField,或者我是否必须将它添加到我现有的JFrame中?

我没有使用Swing库的经验,所以希望有人能为我回答这些问题。

TL; DR:

我不希望我的输入字段看起来像下面的标准JTextField,如何在不使用标准Swing图形的情况下实现自己的输入字段?

"How I don't want it"

1 个答案:

答案 0 :(得分:0)

尝试使用newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE, "aqs_wake_lock"); 课程。但那真的很复杂。您将对整个容器实施Graphics。无论何时按下某个键,都应该将一些文本绘制到屏幕上。哎呦!文本的坐标(x,y)不像JTextField那样自动移动,只要键入就需要递增KeyListener。如果用户点击x并增加ENTER,则将其重置为0。将添加到yx的值取决于字体大小。