我正在制作一个鼓应用程序,我使用了键绑定,这样我就可以用键盘触发鼓的声音。
例如,我的btnBassDrm
的关键触发器是'B'
。我想做的是,当我按下'B'
时,在我的btnBassDrum中按下按钮的动画(就像在mouseClicked事件中一样)
也会触发。所以实际上,看起来你真的在打鼓。
有什么想法可以让这成为可能吗?谢谢你们!:)
更多信息:
以下是我使用密钥绑定的方式:
我有一个名为KeyBind的类,它有6个返回类型Action的方法
public static Action getSnareAction(){
Action snareAction = new AbstractAction(){
@Override
public void actionPerformed(ActionEvent e){
try{
music=new FileInputStream(new File(Sound.snareSound));
AudioStream audios=new AudioStream(music);
AudioPlayer.player.start(audios);
}
catch(Exception ex){
JOptionPane.showMessageDialog(null,ex.getLocalizedMessage());
}
}
};
return snareAction;
}
在我的main表单中,我有6个方法也可以进行绑定。
public void snareActionKeyBind(){
snareDrumAction = KeyBind.getSnareAction();
InputMap inputMap = btnSnareDrum.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
inputMap.put(KeyStroke.getKeyStroke("E"), "hitSnareDrum");
btnSnareDrum.getActionMap().put("hitSnareDrum", snareDrumAction);
}
然后我在Mainform的构造函数中调用这6个方法
public FreePlayForm() {
initComponents();
bassActionKeyBind();
crashActionKeyBind();
snareActionKeyBind();
hihatActionKeyBind();
rackTomActionKeyBind();
floorTomActionKeyBind();
}
每当我敲击琴键玩耍或者什么都不做的时候,我的感觉就是这样。它没有像你点击它时那样的“被按下”动画。这就是我现在的目标,当你按下按键时,让“被按下动画”。
创建一个操作
。该操作可以用作按钮的ActionListener,并且可以在给定击键的键绑定中使用。
从Swing教程中,您可以阅读以下部分:
您可以查看:将单个操作侦听器附加到所有按钮以获取带有操作和键绑定的示例。
编辑:
这就是我现在的目标,当你按下按键时,让“被按下动画”。
然后,在键绑定的操作中,需要在相关按钮上调用doClick(),而不是共享该操作。因此,每个按钮需要两个动作
问题内容: 模拟按钮单击似乎是非常简单/标准的操作。但是,我无法在Jest.js测试中使用它。 这是我尝试过的(也可以使用jquery进行此操作),但似乎没有触发任何操作: 问题答案: #1使用笑话 这就是我使用笑话嘲笑回调函数来测试click事件的方式 我还使用了一个称为酶的模块 酶是一种测试实用程序,可让您更轻松地断言和选择您的React组件 #2使用Sinon 另外,您可以使用另一个称为si
我正试图让JQuery在按下下一个按钮时自动单击该按钮。在互联网上,我发现应该是这样的(查看JQuery部分)。但由于某种原因,它不起作用。 它们必须在同一个代码中吗? 我尝试过的:JQuery: 表单中的按钮1 HTML: 表单中的按钮2 HTML:
问题内容: 我写了一个Google Chrome扩展程序,要在其上使用扩展程序的网站要求我单击或制表到文本框(因为我认为它仅运行javaScript验证“ onClick”)。我可以使用以下扩展名在框中输入带有扩展名的文本: 但是,当我单击提交时,它认为我没有在“ input1”文本框中输入任何内容,因为我从未单击过它或在其上使用选项卡。 有人可以帮我解决这个问题吗? 问题答案: 模拟鼠标单击 我
问题内容: 我正在寻找一种在OSX中模拟击键的方法。我发现了使用Objective-C的另一种解决方案针对系统范围的热键模拟按键,但是我需要使用Swift来实现。如何适应CGEventCreateKeyboardEvent? 问题答案: 链接答案上的代码可以很容易地转换为Swift代码,但是在此过程中您需要注意一些技巧: 接受a ,这是a的类型别名,但是诸如的常量被定义为as ,因此您必须将它们强
我正在尝试用selenium WebDriver单击一个按钮。但无法识别按钮。这是我的代码:它返回一条错误消息 NoSuchelementException:消息:u'没有这样的元素:找不到元素:{“method”:“XPath”,“Selector”:“//*[@id=”ArtifactContentList“]/div[2]/div/div[3]/content-dataset-actions
问题内容: 使用jQuery,如何在单击链接时模拟(触发?)KeyPress?例如,当用户单击以下链接时: 然后,通过单击链接,就好像他们按下了键盘上的“空格键”一样。 像这样,我假设: 关于如何实现这一目标的任何想法? 问题答案: jQuery的keypress事件旨在完成这种工作。您可以通过将字符串“keypress”传递给.trigger()来触发事件。但是,更具体地说,您实际上也可以传递j