우리의 응용 프로그램 (JFace/SWT 기반 인터페이스를 사용하는 Eclipse RCP 기반)은 수학적 행렬 편집을 지원해야합니다. 행렬은 항상 정사각형이며 2x2에서 11x11까지의 모든 크기 일 수 있습니다. 또한 버튼이 인터페이스에 배치되어 사용자가 행렬을 늘리거나 줄일 수 있습니다.수학적 행렬에 대해 EditingSupport를 사용하여 JFace TableViewer 만들기
우리는 비 매트릭스 데이터 편집을 위해 JFace TableViewers와 TreeViewers를 코드 전체에서 사용합니다. 가능하다면 행렬을 편집 할 때 동일한 일반 구조를 사용하고 싶습니다.
나는 같은 행렬 요소 당 하나 개의 행을 사용하여 MySQL 데이터베이스에서 데이터를 유지 :
+----------------------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+------------+------+-----+---------+-------+
| id | bigint(20) | NO | PRI | NULL | |
| rowNum | bigint(20) | NO | | NULL | |
| columnNum | bigint(20) | NO | | NULL | |
| value | double | NO | | NULL | |
| matrix_id | bigint(20) | NO | MUL | NULL | |
+----------------------+------------+------+-----+---------+-------+
내가 실행 해요 문제는 JFace의 "입력"하나의 테이블에 해당하는 것이다 렌더링 된 테이블의 행. 필자의 경우 단일 데이터베이스 행은 전체 행이 아닌 테이블의 셀과 대응됩니다.
내가 생각할 수있는 유일한 것은 행방 불명 상태를 유지하고 데이터베이스 행을 적절한 JFace 가능 모델로 효과적으로 변환하는 장면 뒤에 객체를 저장하는 것입니다. 예를 들어, 3x3 행렬이있는 경우 9 행을 프록시 객체로 전달하고 viewer.setInput(Object)
을 3x3 배열로 호출해야합니다.이 문제는 계속 지원해야하는 악몽처럼 보입니다. 내부 모델과 데이터베이스 모두 동기화 객체입니다.
는