2011-12-12 3 views
2

구현해야하는 프로젝트에서 5 분짜리 프레젠테이션을해야합니다.테이블/셀의 Netbeans/Java swing 질문

Stupid ol '는 5 분 프리젠 테이션에 너무 많은 프로젝트를 선택했습니다.

또한, 나는 앞뒤가 맞지 않았다. 선생님은 Netbeans GUI 빌더를 사용하여 괜찮 았지만 "친절"하다고 말합니다.

레이아웃이 모두 완료되었지만 기능이 없습니다.

각 탭이있는보기가 있습니다.

예제로 jTable1을 사용합니다. 이 테이블에는 이름 (문자열), 숫자 (객체 ??) 및 체크 박스 (부울)가있는 열이 하나씩 있습니다.

제 질문은 : 제 3 열의 확인란을 선택하고 확인란을 선택한 횟수에 따라 번호 열을 업데이트하고 싶습니다.

GUI 빌더를 사용하거나 이벤트/바인딩/연결/등으로 손으로 코딩하는 방법은 무엇입니까?

이제, 바로 몇 가지를하자 :

를 내가 나를 위해 내 임무를 수행하는 사람을 요구 하진 않았어. 나는이 한 부분에 붙어 있고이 단 한 가지에 대한 도움이 필요합니다. 내가 대답한다면,이 스레드는 누군가가 그물을 답을 찾는데 도움이된다는 것을 안다.

감사합니다.

답변

1

CellEditor 구현 방법은 How to use Tables을 참조하십시오. 또한 상태를 저장하기 위해 AbstractTableModel을 구현해야합니다. 처음에는 그렇게하는 것이 쉽지 않습니다. 힌트는 내 질문 How to make a JButton in a JTable cell click-able?을 참조하십시오.

하지만 확인란을 잘못 사용하고 있습니다. 클릭 수를 계산하려면 JButton을 선택하는 것이 좋습니다.

+0

일종의 등급 책입니다. 나는 결석의 수를 세는 출석 탭을 가지고있다.결석에 대한 확인을 클릭하면 한 번 증가하고 다시 클릭하면 감소합니다. 이 체크 박스는 DefaultTableModel의 bool 유형 입력에 대한 기본값입니다. –

1

JTable은 AbstractTableModel을 확장하는 사용자 정의 테이블 모델을 사용합니다. 그것의 setValueAt 메소드는 주어진 값의 부울 컬럼에 새로운 값이 설정 될 때마다 같은 행의 숫자 컬럼의 값이 증가하도록 구현되어야한다.

테이블 모델을 구현하는 방법은 http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#data을 참조하십시오.

1
  1. 확인란을 마우스 오른쪽 버튼으로 클릭하십시오.
  2. 팝업 메뉴에서 이벤트 -> 작업 -> actionPerformed를 선택하십시오.
  3. 새로 작성한 메소드에서 실행할 코드를 추가 할 수 있습니다. 표 편집에 도움이되는 http://docs.oracle.com/javase/tutorial/uiswing/components/table.html을 사용하십시오. 생성자에라는 Object[][]data를 전달하여 테이블을 만든 경우

예를 들어, 당신은 당신의 테이블을 업데이트 할 수 있습니다

data[row][col] = value; 
table.fireTableCellUpdated(row, col); 

을 나는 희망이 도움이!