Java 当按下某个键时,如何使用键侦听器(或其他方法)触发循环或方法?
考虑:Java 当按下某个键时,如何使用键侦听器(或其他方法)触发循环或方法?,java,Java,考虑: 公共类CreateFileDir实现KeyListener{ int i=0; 按下公共布尔值=false; 这就是我给布尔值“pressed”设置为false的地方,我想让它做的是当我按下“x”键时,它会将其切换为true,一旦释放,就会切换为false 另一方面,我希望这个程序在IDE控制台之外工作。我让它在没有键侦听器的情况下工作,但它在后台运行时必须工作。我不能使用切换按钮,除非我可以将它绑定到给定的键(例如x)。我也没有弹出窗口,就像我希望它在后台运行一样 public
公共类CreateFileDir实现KeyListener{
int i=0;
按下公共布尔值=false;
这就是我给布尔值“pressed”设置为false的地方,我想让它做的是当我按下“x”键时,它会将其切换为true,一旦释放,就会切换为false
另一方面,我希望这个程序在IDE控制台之外工作。我让它在没有键侦听器的情况下工作,但它在后台运行时必须工作。我不能使用切换按钮,除非我可以将它绑定到给定的键(例如x)。我也没有弹出窗口,就像我希望它在后台运行一样
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyCode() == KeyEvent.VK_X) {
pressed = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
if(e.getKeyCode() == KeyEvent.VK_X) {
pressed = false;
}
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
这就是我的IDE(Eclipse)所说的我需要使用键侦听器。我的想法是,当我按下并按住X时,按下将变为真,但当我松开X时,按下将变为假
public void robo() throws Exception {
Robot robot = new Robot();
while(pressed) {
这就是我希望while循环在按下为true时运行的地方。我试图将它放在main中,但它说按下将需要是静态的,这会弄乱KeyListener方法
public static void main(String[] args) throws Exception {
CreateFileDir s2i = new CreateFileDir();
while(1==1) {
s2i.robo();
这是我的主要方法,它不断地以1==1while
循环运行。然后,当我按下X键时,我想要while(pressed)
如何解决此问题?这是否回答了您的问题?我可以使用带有键绑定的JToggleButton吗?对于我的程序,我不能左键单击它,我需要在按下给定键(如“x”)时运行,而且在运行时我没有使用JFrame或任何弹出窗口