2011-05-19 36 views
1

特定行我的JTable這樣色,通過ROWID

String[] columnTitles=new String[]{"Command","Offset","Type","Value","Units","R/W"}; 
     Object[][] data=new Object[20][7]; 

     for(int i=0;i<ROWS_NUMBER;i++){ 

      cmbName=RootData.getRootData().getMessageContainer().getComboBoxNameTable(); 
      cmbOffset=RootData.getRootData().getMessageContainer().getComboBoxOffsetTable(); 
      txtType=new JTextField(); 
      txtValue=new JTextField(); 

      txtUnit=new JTextField(); 
      cmbRW=new JComboBox(new String[]{"Read","Write"}); 

      editorsCommand.add(new DefaultCellEditor(cmbName)); 
      editorsOffset.add(new DefaultCellEditor(cmbOffset)); 
      editorsType.add(new DefaultCellEditor(txtType)); 
      editorsValue.add(new DefaultCellEditor(txtValue)); 

      editorsUnits.add(new DefaultCellEditor(txtUnit)); 
      editorsRW.add(new DefaultCellEditor(cmbRW)); 
     } 



     for(int i=0;i<20;i++) 
      for(int j=0;j<7;j++) 
       data[i][j]=""; 
     DefaultTableModel model=new DefaultTableModel(data,columnTitles); 

     this.tblCommands=new JTable(model){ 
      /** 
      * 
      */ 
      private static final long serialVersionUID = 1L; 

      public TableCellEditor getCellEditor(int row, int column) 
      { 
       int modelColumn = convertColumnIndexToModel(column); 

       if (modelColumn == 0 && row < 20) 
        return editorsCommand.get(row); 
       else if(modelColumn == 1 && row < 20) 
        return editorsOffset.get(row); 
       else if(modelColumn == 2 && row < 20) 
        return editorsType.get(row); 
       else if(modelColumn == 3 && row < 20) 
        return editorsValue.get(row); 
       else if(modelColumn == 4 && row < 20) 
        return editorsUnits.get(row); 
       else if(modelColumn == 5 && row < 20) 
        return editorsRW.get(row); 
       else 
        return super.getCellEditor(row, column); 
      } 

     }; 


     tblCommands.getColumnModel().getColumn(0).setMinWidth(300); 
     System.out.println(model.isCellEditable(0,2)); 
     spCommand=new JScrollPane(tblCommands); 

如何顏色綠色一排敵人例如行= 2?

回答