작성한 테이블 클래스를 사용하여 항목 테이블을 수정합니다. 테이블 모델을 사용하여 이러한 항목을 JTable에 표시하려고합니다. 나에게 테이블 모델은 내 GUI 패키지에 속하지만 테이블은 테이블 모델을 필요로하기 때문에 테이블 모델을 필요로한다. 당신이 이것을해야한다면, 당신이 사용하는 수업 구조는 무엇입니까? 아니면 내 생각에 흐름이 있고 그들은 같은 패키지에 속해 있습니까?Java 테이블 모델 디자인
답변
테이블 모델은 테이블이 들어있는 테이블에 대해 알 필요가 없습니다. 모델 패키지에 테이블 모델을 넣고 뷰 패키지에 테이블을 넣습니다. 컨트롤러는 모델 패키지에 모델을 요청하고, 뷰 패키지에 테이블을 요청하고 테이블에 해당 모델을 설정합니다.
나를 위해 tablemodel은 GUI 인 위젯의 일부입니다. 비즈니스 로직 클래스의 javax.swing 패키지에 의존하지 않습니다.
따라서 비즈니스 계층에서 테이블 모델을로드하는 데 어댑터 또는 다른 메커니즘을 사용하지만이 정도의 분리는 유용 할 수 있습니다.
결정은 프로젝트의 크기에 따라 다르며 이보다 훨씬 더 복잡 할 수 있습니다. 예 : 좀 더 추상적 인 경우는 jgoodies binding 프레임 워크와 문서를 참조하십시오.
모델은 데이터를 보유하는 비트입니다. 그러한 모델이하는 것처럼 청취자를 유지하고 화재를 발생시켜야합니다.
이제 모델 내에서 일종의 위임을 통해 데이터를 변환하거나 유형을 적용 할 수 있습니다. 따라서 javax.swing.table과는 아무런 관련이없는 모델 객체에 데이터가 있습니다. 그런 다음 기본 모델에 위임하는 TableModel을 구현하십시오. 그 TableModel를 가지는 JTable를 작성합니다. 다만, 기본이되는 모델의 참조는 없습니다.
TableModel
은 어댑터입니다. 항상 테이블 모델을 작성하여 AbstractTableModel
까지 확장하고 내 GUI 패널 클래스의 개인 내부 클래스로 사용하십시오. 당신은 몇 가지 방법을 작성해야합니다 : 그것은이 정보를 입력 할 수있는 getRowCount
, getColumnCount
및 getValueAt
귀하의 GUI 클래스는 일부 컨트롤러에 액세스 할 수 있어야합니다. 컨트롤러가 데이터에 대한 업데이트를 발견하면 GUI 클래스에 알려야하며이 클래스는 AbstractTableModel.fireTableDataChanged
또는 다른 적절한 메소드를 호출 할 수 있습니다. 그런 다음 컨트롤러와 동기화 테이블 모델의 데이터를 유지해야하기 때문에
는는 DefaultTableModel
클래스를 사용하지 마십시오. 내가 말했듯이 테이블 모델은 컨트롤러의 데이터를 JTable
이 이해할 수있는 방식으로 표시하는 어댑터입니다.
중요한 테이블 또는 목록 기반 개발을 수행하는 사람은 모두 Glazed Lists을 살펴볼 것을 강력히 제안합니다. TableModel과 CellRenderers, JGoodies와의 바인딩, 등등 ... GL에 관해서는 1 년 가량 걸렸고 내 개발은 한번도 없었습니다. Glazed Lists 접근법은 놀라 울뿐입니다.
이- 는
- 을하고 싶은 정상적인 일을 할 매우, 매우 쉽게 할 것을 가능하게한다 :
GL은 목록 기반 데이터 바인딩 및 처리를위한 선택의 나의 프레임 워크를 만드는 두 가지 특징이있다 너가하고 싶을지도 모르는 정말로 정말로 어려운 물건
만일 당신이 인상 지우지 않는지보십시오. 샘플 앱으로 노는 것을 강력히 권장하며 실제 코딩 과정을 안내하는 몇 가지 화면 캐스트를 시청하십시오.
- 1. Java EE의 동적 유형이 지정된 테이블/모델?
- 2. 적절한 모델 2 디자인
- 3. 테이블 데이터 게이트웨이 및 모델
- 4. 빈 테이블의 테이블 모델
- 5. 적절한 모델 뷰 컨트롤러 디자인
- 6. django 모델 디자인 질문
- 7. MVC 모델 디자인?
- 8. asp.mvc 모델 디자인
- 9. 상태 모델 디자인 패턴
- 10. Django 모델 디자인
- 11. 계정 추천을위한 모델 디자인
- 12. 캐싱이있는 PHP 모델 디자인
- 13. EF4 모델 디자인
- 14. MVVM 모델 디자인
- 15. 개체 모델 디자인 선택
- 16. Django 모델 디자인
- 17. Mysql 테이블 디자인 : 테이블 역할
- 18. 도메인/객체 모델 디자인 질문
- 19. java web application - sql join으로 목록을 표시하기위한 모델 디자인
- 20. 다국어 테이블 디자인 문제
- 21. 데이터베이스 테이블 디자인 컨트롤
- 22. 데이터베이스 테이블 디자인
- 23. 데이터베이스 디자인 + 테이블 ID
- 24. 테이블 UI 디자인
- 25. 시공간 데이터를위한 테이블 디자인
- 26. SQL 테이블 디자인 조언
- 27. MySQL 테이블 디자인
- 28. MYSQL 테이블 디자인 도움말
- 29. 데이터 테이블 디자인 레이아웃
- 30. SQLite 테이블 디자인 질문
Ahum, 구현해야하는 메서드는
입니다. 그렇습니까? – dhiller하하 네. 죄송합니다. 먼저 체크 했어야 했어! –