java jtextarea 部分可编辑问题!!!!!1
怎么实现jtextarea部分可编辑/不可编辑?类似cmd控制台的换行。换行后已经提交的内容和cmd给的回复信息是不可编辑的,但是还可以继续往下写文字?这个怎么实现?求高...
怎么实现jtextarea 部分可编辑/不可编辑 ? 类似cmd控制台的换行。换行后已经提交的内容和cmd给的回复信息是不可编辑的,但是还可以继续往下写文字?这个怎么实现?求高人解答!!!
展开
1个回答
展开全部
这个描述比较分散,我觉得可以总结为:已经输出和提交的内容是不能删掉的
我觉得这个事情相当麻烦,JTextArea自然提供了你能实现这个功能的所有工具,但是真心麻烦……
我个人的想法是这样的,在JTextArea的Document上监听输入事件,这样你可以知道所有用户的键盘输入,也就是用户在哪里敲入了什么字符。 其次,你要自己建立数据结构,记录下哪一行是已经提交的或者系统输出的,当前用户的输入起始点在哪里。这使得你可以判断用户在非法位置的输入是不会显示成为实际的文本的,也可以让你知道当用户敲回车时,哪些是新输入的。
我觉得这个事情相当麻烦,JTextArea自然提供了你能实现这个功能的所有工具,但是真心麻烦……
我个人的想法是这样的,在JTextArea的Document上监听输入事件,这样你可以知道所有用户的键盘输入,也就是用户在哪里敲入了什么字符。 其次,你要自己建立数据结构,记录下哪一行是已经提交的或者系统输出的,当前用户的输入起始点在哪里。这使得你可以判断用户在非法位置的输入是不会显示成为实际的文本的,也可以让你知道当用户敲回车时,哪些是新输入的。
追问
怎么建立这样的数据结构?
仅仅通过JTextArea的监听和这种数据结构来模拟出cmd是否不现实?
追答
比如一个数值,保存着哪一行以上都是不可编辑的。类似的吧,如果更复杂,则需要数据结构,我想不到那么远,但是我知道一旦你开始编码,你自然就能知道该写什么数据结构(如果需要的话)
我认为现实。考虑命令行程序本身,它除了监听你的键盘输入,还能做什么吗,我认为仅仅如此就足够了。不排除有第三方库为你解决其中一些难点(或者甚至整个难点),不过我不知道,所以只能从最底层来考虑这个问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询