Java 如何键入用户光标所在的位置
我想创建一个应用程序,在运行时,在用户当前输入光标的位置键入文本。如何检查a)用户当前正在选择文本框/程序实际上可以在该点输入,以及b)如何作为用户输入。如果用户选择文本字段时需要设置文本,则需要使用Java 如何键入用户光标所在的位置,java,Java,我想创建一个应用程序,在运行时,在用户当前输入光标的位置键入文本。如何检查a)用户当前正在选择文本框/程序实际上可以在该点输入,以及b)如何作为用户输入。如果用户选择文本字段时需要设置文本,则需要使用focusgound和focusLost事件查看文本字段何时被选择(获得焦点),或取消选择(失去焦点) 举个例子, import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import javax.swing.J
focusgound
和focusLost
事件查看文本字段何时被选择(获得焦点),或取消选择(失去焦点)
举个例子,
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JTextField;
public class Main {
public static void main(String args[]) {
final JTextField textField = new JTextField();
textField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
// Your code here
textField.setText("Sample Text");
}
@Override
public void focusLost(FocusEvent e) {
// Your code here
textField.setText("");
}
});
}
}
或者,您可以使用Java类键入如下内容:
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JTextField;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class Main {
public static void main(String args[]) {
// Create an instance of Robot class
Robot robot = new Robot();
final JTextField textField = new JTextField();
textField.addFocusListener(new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
// Your code here
// Press keys using robot. A gap of
// of 500 mili seconds is added after
// every key press
robot.keyPress(KeyEvent.VK_H);
Thread.sleep(500);
robot.keyPress(KeyEvent.VK_E);
Thread.sleep(500);
robot.keyPress(KeyEvent.VK_L);
Thread.sleep(500);
robot.keyPress(KeyEvent.VK_L);
Thread.sleep(500);
robot.keyPress(KeyEvent.VK_O);
}
@Override
public void focusLost(FocusEvent e) {
// Your code here
textField.setText("");
}
});
}
}
你到底需要做什么?你的问题还不清楚。我基本上只需要以用户的身份键入。换句话说,代表用户键入。如果选择了文本字段,需要自动键入文本吗?有点。我希望程序只需键入文本,就像按键盘上的键一样。我现在忽略a部分;我只需要它不管效果如何,也不管文本是否真的出现或其他什么,都可以输入文本。如果需要,请检查我的答案。或者如果需要一个字符一个字符地键入,比如显示键入的内容,可以使用Java类