2010-08-05 4 views
0

테이블이 있습니다 (텍스트 필드와 버튼으로 구성된 표 셀 편집기를 만듭니다.) 버튼을 클릭하면 날짜 선택 도구가있는 팝업 메뉴가 나타납니다 아이디어스윙 : CellEditor가 포커스를 잃지 않도록하기

날짜 선택 도구와 상호 작용할 때 셀 편집기의 포커스가 손실되고 결과적으로 테이블이 제거된다는 문제가 있습니다. 편집기에서 셀 편집기 리스너 (JTable.editingStopped())로

리스너가 제거되었으므로 새 날짜가 설정되면 셀 편집기에서 fireProperyChange()를 호출하면 아무 영향도 미치지 않으며 테이블/텍스트 필드에 업데이트가 전달되지 않습니다.

내가 원하는 동작을 얻는 방법에 대한 아이디어가 있습니까?

감사합니다.

PropertySheetTable (JTable의) .editingStopped (ChangeEvent의) 행 : 4713
CellEditorAdapter (AbstractCellEditor) .fireEditingStopped() 선 125
CellEditorAdapter.stopCellEditing 여기

는 선택기에 날짜를 설정 한 후 호출 스택의() 선 152
JTable가 $ CellEditorRemover.propertyChange (PropertyChangeEvent는) 라인 : 5954 PropertyChangeSupport.firePropertyChange (PropertyChangeEvent는) 라인 : 339 PropertyChangeSupport.firePropertyChange (PropertyChangeEvent는) 라인 : 347 의해 PropertyChangeSupport. firePropertyChange (문자열, 객체, 객체) 라인 : 276
DefaultKeyboardFocusManager (의 KeyboardFocusManager) .firePropertyChange (문자열, 객체, 객체) 라인 : 1389 DefaultKeyboardFocusManager (의 KeyboardFocusManager) .setGlobalPermanentFocusOwner (구성 요소) 라인 : 687 DefaultKeyboardFocusManager.dispatchEvent (AWTEvent입니다) 라인 : 490
JXMonthView (성분) .dispatchEventImpl (의 AWTEvent) 라인 : 4502
JXMonthView, 용기 .dispatchEventImpl (의 AWTEvent) 라인 : 2,099
JXMonthView (성분) .dispatchEvent (의 AWTEvent) 라인 : 4460
EventQueue.dispatchEvent (AWTEvent) 행 : 599
EventDispatchThread.pump OneEventForFilters (INT) 선 269
EventDispatchThread.pumpEventsForFilter (INT, 조건부 EventFilter) 선 184
EventDispatchThread.pumpEventsForHierarchy (INT, 조건부 부품) 선 174
EventDispatchThread.pumpEvents (INT 조건부) 라인 : 169
EventDispatchThread.pumpEvents (조건) 선 161
EventDispatchThread.run() 선 122

답변

0

How to Use Tables에 스윙 가이드를 읽는다. 색상 선택기를 팝업 편집기로 사용하는 예제가 있습니다. 개념은 데이터 선택기에 대해 동일해야합니다.

관련 문제