当鼠标悬停在jdatepicker按钮上时,我正在尝试更改鼠标光标,但是它不起作用。
光标根本没有变化。
这是Windows应用程序,允许用户选择日期。
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));
}
});
结果:
预期:
有人可以帮助我吗?谢谢
答案 0 :(得分:0)
问题解决了。
我有一个在日期选择器之前创建的标签,并且它的位置似乎与jdatepicker按钮的位置重叠,所以光标不能识别出要作为jbutton的区域,而是标签。