java - 将鼠标悬停在Java AWT中的按钮上时的手形光标
问题描述
我在 AWT 中创建了一个名为“Reset”的按钮。当鼠标悬停在此按钮上时,我希望光标为手形光标。
我尝试了类的mouseEntered
方法,MouseAdapter
但没有效果。
void createResetButton() {
Button resetButton = new Button("Reset");
resetButton.setBounds(300, 335, 100, 40);
add(resetButton);
resetButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
usernameTextField.setText(null);
passwordTextField.setText(null);
invalidMessage.setVisible(false);
}
@Override
public void mouseEntered(MouseEvent e) {
Cursor.getPredefinedCursor(HAND_CURSOR);
}
});
}
提前致谢。
解决方案
您Cursor.getPredefinedCursor(HAND_CURSOR);
在mouseEntered
方法中的声明没有任何效果,因为您只得到了光标,但随后什么也没做。
解决方案比您预期的要简单。你不需要你的mouseEntered
方法。只需在您setCursor(Cursor)
的.Component
resetButton
void createResetButton() {
Button resetButton = new Button("Reset");
resetButton.setBounds(300, 335, 100, 40);
add(resetButton);
resetButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
resetButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
usernameTextField.setText(null);
passwordTextField.setText(null);
invalidMessage.setVisible(false);
}
});
}
然后 AWT 将为您完成剩下的工作:鼠标进入时显示手形光标resetButton
,离开时显示正常光标。
推荐阅读
- reactjs - 如果多个电子邮件与同一帐户关联,则获取登录用户的电子邮件地址
- swift - 无法覆盖 prefersHomeIndicatorAutoHidden() 方法
- ruby-on-rails - will_paginate 在帖子分页时删除组中的帖子
- c# - 使用 MVVM 更改按钮 BackgroundColor
- php - 在 Wordpress 自定义中增加主题允许的可用字体类型的数量
- c# - 使用代码而不是 XAML 更改 NavigationView TintColor
- sql - 使用 CHARINDEX 将 NVARCHAR DATE 转换为 DATETIME
- c# - 如何在 JSON 中格式化状态代码,应用范围
- h2 - 当 H2 数据库中列的类型发生变化时,索引会发生什么?
- html - 引导标签文本粘贴到输入字段的下线