簡體   English   中英

將鼠標懸停在Java AWT中的按鈕上時的手形光標

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM