Re: jni mouse hook
patrick boulay wrote:
I need from java/swing to grab the text at mouse position ( windows xp )
anyone with some jni/C/C++ hack I could start up with
regards
patrick
java.awt.Point xy = java.awt.MouseInfo.getPointerInfo().getLocation();
//for starters.
//then
java.awt.Robot.createScreenCapture(AREA_AROUND_XY);
//and convert image to text... but I think I'm on the wrong path....
java.awt.Component component =
java.awt.Component.getComponentAt(java.awt.Point);
java.awt.Component lastComponent = component;
while (!(component instanceof JLabel)) {
component = component.getComponentAt(java.awt.Point);
if (lastComponent == component) {
break;//not found
}
lastComponent = component;
}
if (component instanceof JLabel) {
String desiredText = ((JLabel) component).getText();
}
I have never used this method so as far as I know the worst case
scenario is repeatedly calling this method until you reach a
subcomponent (i.e. multiple nested container components) that contains
text such as a JLabel, JTextArea, or its awt equivalents and then
access the text of that component. On the other hand the method may
just return the deepest nested component.