展开全部
给点思路与你(未开IDE,只是一起与你探讨):
你若想不依靠 java 控件,进行字符摄取,我觉得应该从对象的角度来思考了。
比如说,鼠标一次拖动了长度为 100 个像素的范围,那么你在代码中就要明确鼠标按键按下时的起始坐标和鼠标按键弹起时的坐标,然后在你定义好的目标字符串对象中查找在此处范围内打印的字符对象的值,最终进行对象值交换,从而得出字符串。
举个例子,比如说想做成一个摄取单行字符串的程序,你可以分顺序思考 3 点:
字符串在屏幕上显示,会受到字体等因素影响,所以需要要对字符串的坐标进行严格把握,我建议可以先将字符串转换成 char 来打印,建立 2 个数组对象,引用2 种值,一种是字符型,保存字符,另外一种是整型,保存字符对应的坐标的,我觉得这个对于 java 老手不是问题,我不了解楼主水平怎么样,但我的思路就是这样,并且坐标分为 2 个,一个是起始打印点坐标,另外一个是从字符的长度和高度,得出打印完该字符时的“末端”坐标;
当鼠标在屏幕上实施按键动作时,立即记录下当前坐标,然后鼠标拖动完成后,立即记录按键弹起时坐标,然后找出在这个坐标范围内对应的字符。
最后,建议你去开IDE,按照我这个肤浅的思路试试看,希望对你有帮助。
你若想不依靠 java 控件,进行字符摄取,我觉得应该从对象的角度来思考了。
比如说,鼠标一次拖动了长度为 100 个像素的范围,那么你在代码中就要明确鼠标按键按下时的起始坐标和鼠标按键弹起时的坐标,然后在你定义好的目标字符串对象中查找在此处范围内打印的字符对象的值,最终进行对象值交换,从而得出字符串。
举个例子,比如说想做成一个摄取单行字符串的程序,你可以分顺序思考 3 点:
字符串在屏幕上显示,会受到字体等因素影响,所以需要要对字符串的坐标进行严格把握,我建议可以先将字符串转换成 char 来打印,建立 2 个数组对象,引用2 种值,一种是字符型,保存字符,另外一种是整型,保存字符对应的坐标的,我觉得这个对于 java 老手不是问题,我不了解楼主水平怎么样,但我的思路就是这样,并且坐标分为 2 个,一个是起始打印点坐标,另外一个是从字符的长度和高度,得出打印完该字符时的“末端”坐标;
当鼠标在屏幕上实施按键动作时,立即记录下当前坐标,然后鼠标拖动完成后,立即记录按键弹起时坐标,然后找出在这个坐标范围内对应的字符。
最后,建议你去开IDE,按照我这个肤浅的思路试试看,希望对你有帮助。
来自:求助得到的回答
展开全部
是任意窗口? 这个,纯JAVA,非常非常难做到。
如果是TextField,可以根据鼠标事件,取得当前的行。如果选中的,TextField可以直接取得。
如果是TextField,可以根据鼠标事件,取得当前的行。如果选中的,TextField可以直接取得。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文本组件都有
getSelectedText()
方法
getSelectedText()
方法
追问
嗯,后来发现这个方法,请问,用JTextPane ,怎样水平自动换行,垂直有滚轮呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询