Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不带Swing的Java游戏中的文本输入_Java_Swing_Input_Jtextfield - Fatal编程技术网

不带Swing的Java游戏中的文本输入

不带Swing的Java游戏中的文本输入,java,swing,input,jtextfield,Java,Swing,Input,Jtextfield,我正在开发一款2D RPG游戏,目前正在开发一个弹出的对话窗口,提示用户输入他们想在商店购买/出售的给定商品的数量。为此,我需要用户能够提供一个数字作为输入 我读过一些关于JTextField的文档,但在这个游戏中我主要使用自己的图形,用图形对象绘制到屏幕上,不想使用标准的javajtextfield Swing图形,因为这样会不合适。我有我自己的、完全工作的KeyManager处理程序类,用于处理游戏中的键盘输入。您知道有什么方法可以让我创建可聚焦(键入)的自定义文本字段吗 我的另一个问题是:

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

我读过一些关于JTextField的文档,但在这个游戏中我主要使用自己的图形,用图形对象绘制到屏幕上,不想使用标准的javajtextfield Swing图形,因为这样会不合适。我有我自己的、完全工作的KeyManager处理程序类,用于处理游戏中的键盘输入。您知道有什么方法可以让我创建可聚焦(键入)的自定义文本字段吗

我的另一个问题是:是否可以删除JTextField边框并将背景设置为完全透明,这样只有用于键入的光标可见,并且我可以添加我自己的“textbox”实现

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

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

tl;医生:

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


尝试使用
图形
类。但那真的很复杂。您将对整个容器实现一个
KeyListener
。无论何时按下某个键,屏幕上都会显示一些文本。哎呀!!!文本的坐标(x,y)不会像JTextField那样自动移动,您需要在键入时增加
x
。如果用户点击
ENTER
并递增
y
,则将其重置为0。将添加到
x
y
的值取决于字体大小。

和Swing是完全可自定义的,但是将JEditField边框设置为背景色、字体设置为奇特的颜色就可以了。您可以使用现有库执行很多操作。你不应该做的是重新设计轮子,将Swing类和Awt类(
Canvas
)混用在它们不应该出现的地方,等等。此外,缺乏经验并不是在提问之前不进行研究的借口;设置不透明(假)