如果鼠标位于 jdatepicker 按钮上,如何更改鼠标光标

How to change mouse cursor if mouse is over jdatepicker button

我试图在鼠标悬停在 jdatepicker 按钮上时更改鼠标光标,但它不起作用。

光标根本没有变化。

这是 windows 允许用户 select 约会的应用程序。

 UtilDateModel model = new UtilDateModel();

    model.setDate(TODAY.getYear(), TODAY.getMonthValue() - 1, TODAY.getDayOfMonth());
    model.setSelected(true);

    Properties p = new Properties();
    p.put("text.year", "Ano");
    p.put("text.month", "Mês");
    p.put("text.day", "Dia");
    p.put("text.today", "Hoje");


JDatePanelImpl panel = new JDatePanelImpl(model, properties);    
    JDatePickerImpl datePicker = new JDatePickerImpl(panel, new DateLabelFormatter());   
    datePicker.setBackground(Color.WHITE);
    datePicker.setTextEditable(true);

        datePicker.setBounds(bounds);   

    datePicker.getJFormattedTextField().addKeyListener(new KeyAdapter() {
        @Override
        public void keyTyped(KeyEvent e) {
            if (((JFormattedTextField) e.getSource()).getText().length() >= 10 ) {
                e.consume();
            }
        }
    });

    ((JButton) datePicker.getComponents()[1]).setEnabled(true);
    ((JButton) datePicker.getComponents()[1]).setIcon(CALENDAR);
    ((JButton) datePicker.getComponents()[1]).setText("");
    ((JButton) datePicker.getComponents()[1]).setBackground(Color.white);

    ((JButton) datePicker.getComponents()[1]).setPreferredSize(new Dimension(5, 15));

    ((JButton) datePicker.getComponents()[1]).addMouseListener(new MouseListener() {
        @Override
        public void mouseClicked(MouseEvent e) {
        }

        @Override
        public void mousePressed(MouseEvent e) {
        }

        @Override
        public void mouseReleased(MouseEvent e) {
        }

        @Override
        public void mouseEntered(MouseEvent e) {
             ((JButton) datePicker.getComponents()[1]).setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
        }

        @Override
        public void mouseExited(MouseEvent e) {
            ((JButton) datePicker.getComponents()[1]).setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
        }
    });

结果:

预计:

有人可以帮助我吗?谢谢

问题已解决。

我有一个在日期选择器之前创建的标签,它的位置似乎与 jdatepicker 按钮的位置重叠,因此光标无法识别该区域是 jbutton,而是标签。