private void fillinTable(){
		int rows=model.getRowCount();
		for(int j=rows-1;j>=0;j--){
			model.removeRow(j);
		}
		if(rule.rules.length==0||rule.rules[0].length!=columnNumber) rule.rules=new Double[0][0];
		for(int row=0;row<rule.rules.length;row++){
			AddNewRow();
			for(int column=0;column<columnNumber;column++){
				Double value=new Double(rule.rules[row][column]);
				String[] values = null;
				if(column!=columnNumber-1) 
					{
						values=terms.get(column);
						if(value>values.length) value=new Double(-1);
					}
				if(column!=columnNumber-1&&value!=-1){
					model.setValueAt(values[value.intValue()], row, column);
				} else {
					model.setValueAt(value, row, column);
					
				}
			}
		}
		table.invalidate();
	}