用代码实现选择文字的问题
大虾们好,
本小虾用以下代码模拟按键,打算实现一段文字的选择,但是组合键无效,
把鼠标(光标)点击到 console 上某段文字后面,
执行如下代码
import java.awt.Robot;
robot = new Robot();
robot.keyPress(16) // shift
robot.keyPress(36) // home
robot.keyRelease(36) // home
robot.keyRelease(16) // shift
//Page Up, Page Down, 箭头等方式也不起作用,
注: 通过手来按的话,是可以选择到文字的
结果只看到光标移动,没有见到文字被选择
哪位大虾指导一下,不盛感激。
------解决方案--------------------
应该用事件监听来处理
可以在KeyListner的KeyPressed事件里设置一个成员变量表示某个key被按下,KeyReleased事件取消成员变量的状态,然后再MouseMotionListener的mouseMoved事件中,结合该成员变量的状态来处理
------解决方案--------------------
看到有人说要加个Delay,不知道灵不灵:
robot = new Robot();
robot.keyPress(16) // shift
robot.delay(100);
robot.keyPress(36) // home
robot.keyRelease(36) // home
robot.delay(100);
robot.keyRelease(16) // shift
另外,楼主是不是用 KeyEvent.KV_SHIFT 这种常量会更好点点。。。
------解决方案--------------------支持一下