Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.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
Java 向Jframe添加控制台_Java_Swing_Console_Jframe_Jbutton - Fatal编程技术网

Java 向Jframe添加控制台

Java 向Jframe添加控制台,java,swing,console,jframe,jbutton,Java,Swing,Console,Jframe,Jbutton,我现在正在开发一款游戏,它使用扫描仪与用户进行交互。这个游戏首先是基于文本的,所以Java控制台视图就是我以前玩的。现在我必须将游戏转换为Gui或Jframe,这样我就可以在框架内使用相同的控制台功能,同时仍然可以使用扫描仪。有什么想法吗? 我是新的编码,所以任何帮助或相同的代码将不胜感激! 谢谢您可以创建一个看起来像控制台的GUI,例如通过使用JTextArea显示控制台文本,以及一个JTextField用户可以在其中输入想要发送到控制台的信息。通过向JTextField添加KeyListen

我现在正在开发一款游戏,它使用扫描仪与用户进行交互。这个游戏首先是基于文本的,所以Java控制台视图就是我以前玩的。现在我必须将游戏转换为Gui或Jframe,这样我就可以在框架内使用相同的控制台功能,同时仍然可以使用扫描仪。有什么想法吗? 我是新的编码,所以任何帮助或相同的代码将不胜感激!
谢谢

您可以创建一个看起来像控制台的GUI,例如通过使用
JTextArea
显示控制台文本,以及一个
JTextField
用户可以在其中输入想要发送到控制台的信息。通过向
JTextField
添加
KeyListener
,您可以监听用户按下“回车”键,然后将信息发送到控制台


与从控制台读取用户输入(控制台坐着等待用户完成输入信息,然后执行操作)不同,您只需监听“Enter”键,然后调用一个方法,通过“JTextField”文本进行传递。

似乎对这样的组件很感兴趣。下面是关于SO的一些其他讨论,为实现这一点提供了很好的指导:


如果你用谷歌搜索这些术语,还会有更多的if提示。

我的建议是:不要。如果您要使用GUI,请不要以这种方式妨碍它。嗨@HovercraftFullOfEels!你能建议可以做些什么吗?我发现这个问题很有趣。控制台程序本质上是一个线性程序,它在很大程度上限制了它的能力,而GUI是一个事件驱动程序,它的行为不取决于你在一行上的位置,而是取决于程序的当前状态以及用户的输入。如果你要制作一个GUI,那么不要把它绑定到扫描仪上,而是让它成为图形化的和事件驱动的。没错,强迫你的GUI使用扫描仪会极大地限制你自己——harakiri风格