不带Swing的Java游戏中的文本输入
我正在开发一款2D RPG游戏,目前正在开发一个弹出的对话窗口,提示用户输入他们想在商店购买/出售的给定商品的数量。为此,我需要用户能够提供一个数字作为输入 我读过一些关于JTextField的文档,但在这个游戏中我主要使用自己的图形,用图形对象绘制到屏幕上,不想使用标准的javajtextfield Swing图形,因为这样会不合适。我有我自己的、完全工作的KeyManager处理程序类,用于处理游戏中的键盘输入。您知道有什么方法可以让我创建可聚焦(键入)的自定义文本字段吗 我的另一个问题是:是否可以删除JTextField边框并将背景设置为完全透明,这样只有用于键入的光标可见,并且我可以添加我自己的“textbox”实现 最后:我的游戏以JFrame打开,图形被绘制到画布上。JTextField应该添加到JFrame和JPanel中,对吗?如果是这种情况,我的DialogueWindow类应该扩展一个新的JFrame并包含一个JPanel来添加JTextField,还是必须将其添加到现有的JFrame中 我几乎没有使用Swing库的经验,所以希望有人能帮我回答这些问题 tl;医生: 我不希望我的输入字段看起来像下面的标准JTextField,如何在不使用标准Swing图形的情况下实现我自己的输入字段不带Swing的Java游戏中的文本输入,java,swing,input,jtextfield,Java,Swing,Input,Jtextfield,我正在开发一款2D RPG游戏,目前正在开发一个弹出的对话窗口,提示用户输入他们想在商店购买/出售的给定商品的数量。为此,我需要用户能够提供一个数字作为输入 我读过一些关于JTextField的文档,但在这个游戏中我主要使用自己的图形,用图形对象绘制到屏幕上,不想使用标准的javajtextfield Swing图形,因为这样会不合适。我有我自己的、完全工作的KeyManager处理程序类,用于处理游戏中的键盘输入。您知道有什么方法可以让我创建可聚焦(键入)的自定义文本字段吗 我的另一个问题是:
尝试使用
图形
类。但那真的很复杂。您将对整个容器实现一个KeyListener
。无论何时按下某个键,屏幕上都会显示一些文本。哎呀!!!文本的坐标(x,y)不会像JTextField那样自动移动,您需要在键入时增加x
。如果用户点击ENTER
并递增y
,则将其重置为0。将添加到x
和y
的值取决于字体大小。和Swing是完全可自定义的,但是将JEditField边框设置为背景色、字体设置为奇特的颜色就可以了。您可以使用现有库执行很多操作。你不应该做的是重新设计轮子,将Swing类和Awt类(Canvas
)混用在它们不应该出现的地方,等等。此外,缺乏经验并不是在提问之前不进行研究的借口;设置不透明(假)代码>