我想制定一个具有以下目标的程序:
1)创建一个JButton 2)使用键绑定将按钮附加到一个键(“ A”键)3)单击“ A”时执行一些代码
这是我到目前为止的代码:
// Imports
Public class Test{
JButton button = new JButton();
//...
Test(){
button.getInputMap().put(KeyStroke.getKeyStroke("A"), "Pressed");
//...
}
// Where do I add the code that responds when button is pressed?
}
现在,在哪里添加我希望在按下按钮时执行的代码?
您需要添加一个动作监听器,专门用于actionPerformed。在构造函数内的某处声明此内容:
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.KeyStroke;
public class Main {
public static void main(String[] argv) throws Exception {
JButton component = new JButton();
MyAction action = new MyAction();
component.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("F2"),
action.getValue(Action.NAME));
}
}
class MyAction extends AbstractAction {
public MyAction() {
super("my action");
}
public void actionPerformed(ActionEvent e) {
//Here goes the code where the button does something
System.out.println("hi");//In this case we print hi
}
}
在此示例中,如果我们按F2,则等效于按下按钮。
问题内容: 我正在尝试在React应用程序中使用google登录。虽然在应用程序外部使用登录按钮本身很有效,但是在自定义登录组件中使用登录按钮时,我无法按预期工作。当用户登录时,按钮本身应执行一个方法。问题是即使登录有效,执行也永远不会到达该方法。 我可能会缺少一些反应,但是我找不到。有什么帮助吗?在可加载所有内容和组件本身的html下方找到。 注意,我没有在此处粘贴无关的代码;) 问题答案: 在
问题内容: 能否请您帮我如何使用和一起键入,就像通过使用来演示我的方法一样 问题答案: 为了安全起见,请考虑此处所示。这将允许使用此处讨论的。 附录:即使是更一般的情况,我也会使用,如下所示。如键盘示例所示,我将使用按键绑定在组件之间共享。 附录:为了说明@kleopatra的评论,我更新了绑定到的代码。实际上,我只使用尚未绑定到文本字段操作或正常使用所需的键。
问题内容: 当前在我的应用程序中按下按钮后,我有一个按钮的基本动画。按钮完成动画设置后,我无法再单击它。它甚至不带有橙色突出显示。 有什么帮助吗? 这是我的代码: 问题答案: 动画仅影响小部件的绘制,这意味着完成动画后,您的按钮仍位于其先前位置。如果要将按钮移动到新位置,则需要手动更新按钮的布局参数。同样,您的AnimationSet和AnimationController也没有用。
你玩过Loren Brichter的游戏Letterpress吗?我很喜欢的Loren构建的一个关于界面的东西可能不是每个人都明显喜欢的:我喜欢每个按钮在用户按下时立即切换到一个不同的状态的样子。绝对不会延迟。这不是一个简单实现的行为,因为即使你可以将一个图片设为UIButton的UIControlStateHighlighted状态图,它也只会在点击发生后一小会启动,而且它不允许更进一步的代码来
我做了一个蛇游戏(通过尝试遵循youtuber的代码),方向由WASD控制。然而,当我按下其中一个键时,什么都没有发生。如果我按住它,它会改变方向,但会有很大的延迟,可能会超过一秒钟。如何修复此问题?我已经查看了我的代码,并将其与我关注过几次的youtube代码进行了比较,但似乎仍然看不出问题出在哪里。这是我第一次做游戏,所以我对这个很陌生。 如果有帮助的话,这是我试图跟踪的视频。 https:/
假设不是MediaEntry,我也想添加一个通用对象类型。因为MediaEntry可能是驻留在不同项目中的不同类,所以我不能在代码中使用对象依赖关系。在这种情况下,我怎么能要求兑换呢?