0
현재 시간을 사용하여 datemodel을 사용하여 JSpinner를 설정했습니다.JSpinner가 충돌 함 setStartDate
startDateModel = new SpinnerDateModel(Calendar.getInstance().getTime(),null,null,Calendar.YEAR);
startDateSpinner = new JSpinner(startDateModel);
JSpinner.DateEditor startEditor = new JSpinner.DateEditor(startDateSpinner,"yyyy.MM.dd. HH:mm");
startDateSpinner.setEditor(startEditor);
나는 스레드를 시작하는 버튼이 있고 나는 사용자가 버튼을 누를 때의 JSpinner의 startDate를 설정합니다. 하지만 startDate를 설정하면 JSpinner가 작동을 멈 춥니 다.
Start.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent arg0)
{
startDateModel.setValue(Calendar.getInstance().getTime());
startDateModel.setStart(Calendar.getInstance().getTime());
//do some stuff
//start thread
}
});
는 그동안 나는 ChangeListener를 사용하는 솔루션을 찾을 수 있었다. 당신의 도움에 대한
startDateSpinner.addChangeListener(new ChangeListener()
{
@Override
public void stateChanged(ChangeEvent e)
{
if(startDateModel.getDate().before(startDate))
{
startDateModel.setValue(startDate);
}
if(startDateModel.getDate().after(endDate))
{
startDateModel.setValue(endDate);
}
}
});
감사합니다.
1. 나는 [SpinnerDateModel 등]로 시작되는 것 (http://docs.oracle.com/javase/7/docs/api/javax/swing/SpinnerDateModel.html), 다음 2. 검색하기 3. SSCCE/MCVE를 게시하지 않고 성공하지 못한 경우 이전 옵션 모두가 실패한 경우 – mKorbel
'// 이벤트 스레드 파생 코드'(http : //docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html) GUI가 응답하지 않을 수 있습니다. – dic19
actionPerformed (..) 코드가 Event Dispatch Thread에서 실행 중입니다. 귀하의// 스레드 코드를 시작 아마 뭔가를 차단합니다. 스레드 코드도 붙여 넣을 수 있습니까? –