저는 Jspinner를 구현했습니다. mouseClicked Listener를 추가하여 현재 날짜 시간으로 회 전자를 설정했지만 회신을 성공적으로 완료 한 후에는 작동하지 않는 공백으로 설정해야합니다. 스피너를 두 번째 누른 다음 이전 값뿐만 아니라 mouseClicked Listener가 호출되는 이유가 무엇입니까? 참고 : 회 전자에 SpinnerDateModel을 사용하고 있습니다. 질문을 여러 번 읽은 후업데이트 된 값을 JSpinner로 설정합니다.
private void spinnerMouseClicked(java.awt.event.MouseEvent evt) {
spinner.setModel(new SpinnerDateModel(new Date(), null, null, Calendar.HOUR_OF_DAY));
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm");
((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().setFormatterFactory(new DefaultFormatterFactory(new DateFormatter(format)));
((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().addCaretListener(new CaretListener() {
@Override
public void caretUpdate(CaretEvent e) {
if (0 == ((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().getCaretPosition()) {
if (((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().getText().length() > 13) {
((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().setCaretPosition(13);
}
}
}
});
}
private void submit(){
((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().setText(null);
}
코드를 보지 않고 말하기가 어렵습니다. – dic19
아무도 모르고 투표를 닫습니다. – mKorbel