[英]Hand Cursor when hover on a button in Java AWT
我在AWT中創建了一個名為“重置”的按鈕。 當鼠標懸停在此按鈕上時,我希望光標為手形光標。
我試過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
方法。 只需在resetButton
上使用Component
類的setCursor(Cursor)
方法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
時顯示手形光標,並在離開它時顯示普通光標。
經過幾次點擊和試驗后,我以這種方式完成了此操作:
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) {
resetButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.