标签: keyevent

使用普通的类方法调用actionPerformed方法

我想呼吁actionPerformed()正常的方法类的.我知道只要按下按钮就会自动执行.但是我想在特定文本字段上按下ENTER按钮时调用该方法.是否有可能调用actionPerformed()keyPressed()或正常功能/方法.

以下代码将让您粗略了解我想要做什么.

void myFunction()
{
      actionPerformed(ActionEvent ae);
}

public void actionPerformed(ActionEvent ae)
{
      //my code
}
Run Code Online (Sandbox Code Playgroud)

提前致谢

java swing keyevent keylistener actionlistener

3
推荐指数
1
解决办法
1万
查看次数

Javascript keyevent和JAWS屏幕阅读器

我有一个应用程序,每次按下空格键时都会执行某些操作(例如警报).如果我不使用JAWS屏幕阅读器,这可以正常工作.但是,一旦我加载JAWS屏幕阅读器,当我按空格键时它不会执行警报.我需要使用JAWS,所以我需要这个工作.这是代码片段.

$(document).keypress(function(event) {
    var chCode = ('charCode' in event) ? event.charCode : event.keyCode;
    if (chCode == 32){ //32 is keyCode for spacebar
      alert("spacebars!!!");
    }
});
Run Code Online (Sandbox Code Playgroud)

根据我的观察,似乎JAWS抓住键盘焦点并且不允许空格键事件触发.当我按下空格键时JAWS总是读取"Space"但警报事件不会触发.当空格键按下时,如何仍然可以触发警报或doSomething()?如何从JAWS获取控制权或者可以与JAWS共享键盘控制,这样即使JAWS读出我按下的角色(在本例中为Spacebar),它也会允许我的事件(警报)触发.谢谢.

更多代码:

$(document).keypress(function(event) {
  var cc= ('charCode' in event) ? event.charCode : event.keyCode;       
       if (cc == 32)
    {
      spArray.push(Number(new Date()));
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript accessibility keyevent jaws-screen-reader

3
推荐指数
1
解决办法
7810
查看次数

在 Android 中使用 TextInputEditText 注册按键

我正在尝试捕获在 TextInputEditText(来自 Material Design)上按下了哪个键,尽管我从键盘上按下了任意键,但我无法进入 onKey 方法。有人可以帮助我吗?

txtInputApo.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            Log.i("onKey","true");
            if(event.getAction() == KeyEvent.ACTION_UP){
                switch (keyCode){
                    case KeyEvent.KEYCODE_SPACE:
                        String Espaces = txtInputApo.getText().toString().replaceAll(" ", "");
                        txtInputApo.setText(Espaces);
                        txtInputApo.setSelection(Espaces.length());
                        break;

                }
            }

            return false;
        }
    });
Run Code Online (Sandbox Code Playgroud)

谢谢!

android keyevent keylistener

3
推荐指数
1
解决办法
1674
查看次数

通过Android AccessibilityService发送ENTER键事件

我正在尝试通过 AccessibilityService 导航到浏览器中的 URL。我能够找到 URL 栏并在 EditText 中输入 URL,但我找不到按 Enter 键实际转到那里的方法。除了弹出的建议之外,屏幕上也没有任何用于“执行”或“输入”的元素,但根据浏览器的不同,这些节点并不总是可单击的。

是否可以从 AccessibilityService 发送键盘“输入”键事件?

android accessibility keyevent accessibilityservice

3
推荐指数
1
解决办法
2368
查看次数

Java KeyListener keyPressed方法触发太快

如果你使用java KeyListener类,你知道如果你按住一个键keyPressed会触发一个KeyEvent,然后大约半秒后将非常快地多次触发相同的键.我想知道是否有办法防止KeyEvents射击太快.我希望它们以大约每500毫秒一次的恒定速率运行.

java swing keyevent keylistener

2
推荐指数
1
解决办法
1万
查看次数

捕获"确定"按钮与在Android中的EditText上按"圆形箭头"

我有一个带android:inputType="phone"键盘的EditText ."OK"这个键盘上有一个.我喜欢抓住这个OK btn.但是我不知道关键事件.我想使用这样的代码:

 setOnKeyListener(new OnKeyListener()
            {
                public boolean onKey(View v, int keyCode, KeyEvent event)
                {
                    if (event.getAction() == KeyEvent.ACTION_DOWN)
                    {
                        switch (keyCode)
                        {
                            case KeyEvent.KEYCODE_DPAD_CENTER:
                            case KeyEvent.KEYCODE_ENTER:
                            case KeyEvent.?????????? <- this one please

                                return true;
                            default:
                                break;
                        }
                    }
                    return false;
                }
            });
Run Code Online (Sandbox Code Playgroud)

我希望代码与按"圆箭"不同!

我检查了文档中的所有关键事件但找不到任何内容.谢谢

android keyevent

2
推荐指数
1
解决办法
2887
查看次数

javafx 2.2 keycode.enter

我正在使用JavaFX 2.2中的应用程序.我正在使用两个字段(用户名和密码)登录到活动目录,并有一个登录按钮.一切都很完美.但是我添加了一个KeyEvent EventHandler来处理按ENTER的键事件.问题是当用户按下SHIFT键时也会使用它.下面是我的Handler的代码,并且在应用程序中没有使用其他KeyEvent处理程序.

import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyEvent; 
...   
private EventHandler<KeyEvent> keyListener = new EventHandler<KeyEvent>() {
    @Override
    public void handle(KeyEvent event) {
        if(event.getCode() == KeyCode.ENTER); {
            startLogin();
            getContext();
            try {
                checkUserLevel();
            } catch (Exception e) {
                actionTarget.setText("Unable to authenticate user\n" + userTextField.getText());
            }
            event.consume();
        } 
    }
};
Run Code Online (Sandbox Code Playgroud)

这是JavaFX中的错误吗?

javafx keyevent

2
推荐指数
1
解决办法
8955
查看次数

以编程方式触发JTextField中的键事件?

如何以编程方式触发JTextField正在侦听事件的按键事件ENTER

我的关键事件的监听JTextField器声明如下:

myTextField.addKeyListener(new KeyAdapter() {

    @Override
    public void keyTyped(KeyEvent e) {
        if (e.getKeyChar() == KeyEvent.VK_ENTER) {
            // Do stuff
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

谢谢.

java swing keyevent jtextfield

2
推荐指数
1
解决办法
2万
查看次数

如何创建KeyEvent

创建时KeyListener,它需要以下字段:

public void keyPressed(KeyEvent e) 
{

}
public void keyReleased(KeyEvent e) 
{

}
public void keyTyped(KeyEvent e) 
{

}
Run Code Online (Sandbox Code Playgroud)

但是,当我放入System.out.println(e)keyPressed方法时,当按Enter键时它将返回此值:

java.awt.event.KeyEvent[KEY_PRESSED,keyCode=10,keyText=?,keyChar=?,keyLocation=KEY_LOCATION_STANDARD,rawCode=0,primaryLevelUnicode=0,scancode=0] on javax.swing.JButton[,1,1,100x100,alignmentX=0.0,alignmentY=0.5,border=com.apple.laf.AquaButtonBorder$Dynamic@13b33a0e,flags=288,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=0,left=2,bottom=0,right=2],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=false,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=HI,defaultCapable=true]
Run Code Online (Sandbox Code Playgroud)

显然这不是KeyEvent,所以我不能使用它来调用keyPressed(KeyEvent e)。我想要做的是模拟一个按键(特别是Enter键)的按下,这种方式可以激活keyListener并将该文本输出到JTextArea中。

注意:我查看了如何完美模拟KeyEvent的可接受答案 ,并且几乎不了解其实际工作原理,并且我希望我理解代码。我也在这里看过如何在Java中模拟键盘按键?,但是我不能让机器人工作;当应该按任何键时,什么也没发生。

java keyevent keylistener jtextfield

2
推荐指数
1
解决办法
3万
查看次数

检测键盘或鼠标事件是否由软件触发

有没有一种方法可以确定键盘或鼠标事件是从硬件而不是由Windows上运行的桌面应用程序中的TeamViewer,Steam或其他远程桌面软件之类的应用程序触发的?

我的目的不是阻止机器人,而是阻止对应用程序的远程访问。

似乎RawInput API可以让我检测使用SendInput API发送的虚假事件。这是对的吗?

windows delphi remote-desktop keyevent raw-input

2
推荐指数
1
解决办法
1730
查看次数