2012-11-19 3 views
8

JavaSwing 테이블의 동적 행 번호에 사용되는 샘플 코드가 있습니다. 즉 JTable입니다. 나는 JavaFX으로 새 메시지를 보내고 JavaFX에서 같은 것을 원합니다. 이 JavaFX 표 자바 FX에서javafx 테이블의 자동 행 번호 지정

class LineNumberTable extends JTable { 

      private JTable mainTable; 

      public LineNumberTable(JTable table) { 
       super(); 
       mainTable = table; 
       setAutoCreateColumnsFromModel(false); 
       setModel(mainTable.getModel()); 
       setAutoscrolls(false); 
       addColumn(new TableColumn()); 
       getColumnModel().getColumn(0).setCellRenderer(mainTable.getTableHeader().getDefaultRenderer()); 
       getColumnModel().getColumn(0).setPreferredWidth(40); 
       setPreferredScrollableViewportSize(getPreferredSize()); 

      } 

      @Override 
      public boolean isCellEditable(int row, int col) { 
       if (col == uneditableColumn) { 
        return false; 
       } 
       return bEdit; 
      } 

      @Override 
      public Object getValueAt(int row, int column) { 
       return Integer.valueOf(row + 1); 
      } 

      @Override 
      public int getRowHeight(int row) { 
       return mainTable.getRowHeight(); 
      } 
     } 
+0

당신이 그것을 명확하게하기 위해 스윙 JTable의의 스크린 샷을 추가 할 수 있습니다 : 두 번째에서, 청소기 접근, 당신은 TableCell#updateItem(S, boolean) 자체 index 속성을 보여줍니다 TableCell를 만들려면 CellFactory을 설정할 수 있습니다 너 뭐야? –

+0

@UrsReupke이 스크린 샷을 참조하십시오. http://zss.s3.amazonaws.com/Untitled.png?AWSAccessKeyId=AKIAINHDRCMKC5GUSNFA&Expires=1361989789&Signature=DF6NRn6l4HyYHiEV3o3MHM3XMao%3D. 위의 코드에 의해 생성 된 첫 번째 열의 행 번호가있는 스윙 테이블의 스크린 샷을 볼 수 있으며 javafx에서 같은 것을 원합니다. 감사합니다 –

답변

5

에서 자동 행 번호를 설정할 수있는 방법은, 당신이 당신의 TableView를 채우는 CellFactories 및 CellValueFactories와 TableColumn의를 사용하는 것입니다.

JavaFX 자습서에는 사용자가 시작할 수있는 article이 있습니다.

한 가지 접근 방법에서는 비즈니스 개체를 프레젠테이션 개체로 변환하고 모든 필요한 속성 (예 : 해당되는 경우 숫자)을 추가합니다.

편집 :

public class NumberedCell extends TableCell{ 

    protected void updateItem(Object object, boolean selected){ 
    setText(String.valueOf(getIndex()); 
    } 
} 
+0

감사. 내가 너에게 돌아갈거야. –

+0

몇 가지 샘플 코드를 추가했습니다. 도움이 되었기를 바랍니다. –

+1

updateItem에 대한 부울 매개 변수가 "selected"대신 "empty"라고 생각합니다. 큰 문제는 아니지만 독자에게는 혼란 스러울 수 있습니다. –