假设我允许用户编辑某些内容,例如地址簿中的电话号码(实际上,这正是我正在做的事情)。有什么东西我可以添加到println,允许我插入一个变量显示为完全可编辑的文本?我正在做的这项任务并没有实际上要求这一点,但我认为这样做很酷。我正在谷歌上找不到任何东西,然后我再也不知道我在寻找什么以及我是否有正确的术语......
答案 0 :(得分:3)
不,不仅仅使用Java在框架中提供的内容。
需要编辑一些文字这可以使用一些本机代码(使用ncurse on linux,...),使用JNI或JNA完成,但不是那么容易。
请注意,有些项目旨在添加这些功能,因此,如果您可以使用核心库之外的内容,则可以尝试使用它们......例如http://code.google.com/p/java-console-api/
答案 1 :(得分:1)
对于功能和复杂性的简单性和可移植性,有各种各样的选项:
只需提示输入信息,阅读完整的(返回终止的)响应行,并允许正常的终端输入设施用于基本编辑。
使用类似gnu readline库的内容来进行更高级的编辑。尽管如此,您仍然不会有小部件(屏幕上特定位置的文本输入框)。这里有一个java实现:http://java-readline.sourceforge.net/
使用像ncurses这样的东西来专门定位光标,打印文本标签,处理按键,并实现自己的文本输入框。不好玩。
使用文本用户界面库(TUI),如下所示:http://www.bmsi.com/tuipeer/
答案 2 :(得分:0)
如果你打开一个看起来像控制台窗口的窗口,并且可以对按键事件作出反应,那么你可以按照你的要求做,但是,如果你只是运行一个程序,程序将停止执行,将控制权返回给您的控制台,因此它无法执行任何其他操作。
但是,如果你使用java的脚本版本,你可以编写自己的shell,然后你可以做你想要的,因为shell不会停止执行。
但是,这可能超出了你的路程。