2012-11-19 20 views
8

JavaSwing Tablo no. JTable'daki dinamik satır numaralarını kullandığımız örnek bir kodum var. JavaFX'da yeniyim ve JavaFX'da da aynısını istiyorum. Orada JavaFX Tablo JavaFX yılındajavafx tablosunda otomatik satır numaralandırma

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

bunu açıklığa kavuşturmak için Salıncak JTable bir ekran eklemek Could: Bir saniye içinde temizleyici yaklaşım, sen TableCell#updateItem(S, boolean) kendi index mülkiyet gösteren TableCell oluşturmak için CellFactory ayarlayabilirsiniz neyin peşindesin –

+0

@UrsReupke Lütfen bu ekran görüntüsüne bakın. http://zss.s3.amazonaws.com/Untitled.png?AWSAccessKeyId=AKIAINHDRCMKC5GUSNFA&Expires=1361989789&Signature=DF6NRn6l4HyYHiEV3o3MHM3XMao%3D. Salıncak tablosunun ekran görüntüsünü, yukarıdaki kod tarafından oluşturulan ilk sütunundaki satır numaralarına sahip olduğunu ve aynı javafx'de olmasını istediğinizi görebilirsiniz. Teşekkürler –

cevap

5

otomatik satır numaralarını ayarlamak için herhangi bir yoldur, kendi TableView doldurmak için CellFactories ve CellValueFactories ile TableColumn s kullanmaktır.

JavaFX eğiticileri, başlamanıza neden olabilecek bir article ürününe sahiptir.

Tek bir yaklaşımda, iş nesnelerini sunum nesnelerine dönüştürecek şekilde dönüştürdüm ve gerekli tüm özellikleri (örneğinizde, numaradaki gibi) onlara ekledim.

DÜZENLEME:

public class NumberedCell extends TableCell{ 

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

Teşekkürler. Sana döneceğim. –

+0

Bazı örnek kod ekledim, umarım bu yardımcı olur. –

+1

Ben updateItem için boolean parametresinin "selected" yerine "boş" olduğuna inanıyorum. Büyük bir anlaşma değil, okuyuculara kafa karıştırıcı olabilir. –