AngularJS'fn'不是一个函数

时间:2015-07-21 00:58:29

标签: angularjs

这是我的前端代码:

Scanner scan = new Scanner(System.in);
if (scan.hasNextInt()) {
    int arabicNumber = scan.nextInt();
} else {
    String romanNumber = scan.next();
}

这是我的控制器:

public class MyPanel extends JPanel {

    File[] DFLIST;
    File DF[];
    File INP;
    File LOG;
    JButton chooseDF = new JButton("Choose defect file");
    JButton chooseLog = new JButton("Choose log file");
    JButton chooseInp = new JButton("Choose inp file");
    JButton analayze = new JButton("Analayze");
    DefectFileReader[] dfReader;
    Document[] docArray;
    boolean DFloaded = false;
    boolean LOGloaded = false;
    boolean INPloaded = false;
    Checkbox recipeName;
    Checkbox inspectionDuration;
    Checkbox area;
    Checkbox numberOfDefects;
    Checkbox numberOfDefectsPerDetector;
    Checkbox sensetivityName;
    Checkbox SlicesDetected;
    private static int rowIndex = 2;
    private static int cellIndex = 4;
    FileOutputStream fos;
    XSSFWorkbook workbook = new XSSFWorkbook();
    XSSFSheet sheet = workbook.createSheet("analyze_result");
    Row row = sheet.createRow(rowIndex);
    Cell cell = row.createCell(cellIndex);
    XSSFCellStyle csForFirstWrite = workbook.createCellStyle();
    XSSFCellStyle csForSecondWrite = workbook.createCellStyle();
    XSSFFont fontForBold = workbook.createFont();
    XSSFFont fontNotForBold = workbook.createFont();
    String totalDuration = "00:00:00";
    private int currentFolder = 0;
    //TwoRoot t;
    JProgressBar pBar = new JProgressBar();
    Frame frame = new Frame("Progress Bar");
    MyprogressBar taskBar;



    /* creating the main panel of the frame - divided to 3 parts. in the north pictures , in the west checkbox , in the east the file chooser */

    public MyPanel(){ 
        this.setLayout(new BorderLayout());
        this.add(pictureInNorth() , BorderLayout.NORTH);
        this.add(checkBoxPanel() , BorderLayout.WEST);
        this.add(chooseFilesPanel() , BorderLayout.EAST);
        //pBar.setForeground(Color.black);
        //pBar.setStringPainted(true);
        //this.add(pBar , BorderLayout.SOUTH);

    }


    /* creating the north panel with the picture */
private JPanel pictureInNorth(){
    JPanel toReturn = new JPanel();
    toReturn.setBackground(Color.black);
    JButton analayzerPic = new JButton(new ImageIcon(new ImageIcon("C:/Users/uvalerx073037/workspace/Analayzer_GUI_Ver2/src/Images/vXqyQkOv.jpeg")
                            .getImage().getScaledInstance(600, 30,
                                    java.awt.Image.SCALE_SMOOTH)));
    analayzerPic.setBackground(Color.black);
    toReturn.add(analayzerPic);
    return toReturn;

}

    /* creating the checkBox in the west */

private JPanel checkBoxPanel(){
    recipeName = new Checkbox("Recipe Name" , false);
    inspectionDuration = new Checkbox("Inspection Duration" , false);
    area = new Checkbox("Area" , false);
    numberOfDefects = new Checkbox("Number Of Defects" , false);
    numberOfDefectsPerDetector = new Checkbox("Number Of Defects Per Detector", false);
    sensetivityName = new Checkbox("Sensetivity Name", false);
    SlicesDetected = new Checkbox("Slices were detected" , false);
    JPanel toReturn = new JPanel();
    toReturn.setLayout(new BoxLayout(toReturn, BoxLayout.Y_AXIS));
    toReturn.add(recipeName);
    toReturn.add(inspectionDuration);
    toReturn.add(numberOfDefects);
    toReturn.add(numberOfDefectsPerDetector);
    toReturn.add(sensetivityName);
    toReturn.add(SlicesDetected);
    toReturn.add(area);

    return toReturn;

}

    /*creating the file chooser in the east */

private Box chooseFilesPanel(){
    MyActionListener lis = new MyActionListener();
    chooseDF.addActionListener(lis);
    chooseInp.addActionListener(lis);
    chooseLog.addActionListener(lis);
    analayze.addActionListener(lis);
    analayze.setForeground(Color.BLUE);
    Box toReturn = Box.createVerticalBox();
    toReturn.add(Box.createGlue());
    toReturn.add(chooseDF);
    toReturn.add(Box.createGlue());
    toReturn.add(chooseLog);
    toReturn.add(Box.createGlue());
    toReturn.add(chooseInp);
    toReturn.add(Box.createGlue());
    toReturn.add(analayze).setSize(50,50);

    return toReturn;

}

/* function to check after the user clicked on the analyze button if all the conditions are OK */

public Boolean isValidToStart(){
    if(DFloaded == false && LOGloaded == false && INPloaded == false){
        JOptionPane.showMessageDialog(null, "NO FILE WAS LOADED!!!", "User Error" , JOptionPane.ERROR_MESSAGE);
        return false;
    }
    if(recipeName.getState() == false && inspectionDuration.getState() == false && area.getState() == false && 
            numberOfDefects.getState() == false && numberOfDefectsPerDetector.getState() == false && sensetivityName.getState() == false){
        JOptionPane.showMessageDialog(null , "NO CHECK BOX WAS MARKED!!!" + "\n" + "WHAT DATA WOULD YOU LIKE TO COLLECT?" , "User Error" , JOptionPane.ERROR_MESSAGE );
        return false;
    }
    if(area.getState() == true && (LOGloaded == false || DFloaded == false || INPloaded == false)){
        JOptionPane.showMessageDialog(null , "IF YOU WANT TO COLLECT AERA YOU NEED TO CHOOSE INP + LOG + DEF" , "User Error" , JOptionPane.ERROR_MESSAGE );
        return false;
    }
    if(SlicesDetected.getState() == true && LOGloaded == false){
        JOptionPane.showMessageDialog(null , "You need to load the LOG in order to get the amount of slices were detected!" , "User Error" , JOptionPane.ERROR_MESSAGE );
        return false;
    }
    else
        return true;

}

/* build the row of the titles , only what the user marked in the check box */ 

private void firstWriteToExcel(DefectFileReader curDF , XSSFSheet sheet , XSSFWorkbook workbook , FileOutputStream fos) throws Exception{

    fontForBold.setBold(true);
    csForFirstWrite.setFont(fontForBold);
    csForFirstWrite.setFillForegroundColor(new XSSFColor(java.awt.Color.lightGray));
    csForFirstWrite.setFillPattern(CellStyle.SOLID_FOREGROUND);
    csForFirstWrite.setBorderBottom(XSSFCellStyle.BORDER_MEDIUM);
    csForFirstWrite.setBorderTop(XSSFCellStyle.BORDER_MEDIUM);
    csForFirstWrite.setBorderRight(XSSFCellStyle.BORDER_MEDIUM);
    csForFirstWrite.setBorderLeft(XSSFCellStyle.BORDER_MEDIUM);


    if(recipeName.getState() == true){
        row = sheet.createRow(rowIndex - 1);
        row.createCell(cellIndex).setCellValue("Recipe Name: " + curDF.getRecipeName());
        sheet.autoSizeColumn(cellIndex);
    }
    row = sheet.createRow(rowIndex++);
    row.createCell(cellIndex).setCellValue("inspection index");
    sheet.autoSizeColumn(cellIndex);
    cellIndex++;
    if(numberOfDefects.getState() == true){
        row.createCell(cellIndex).setCellValue("Total Defects");
        sheet.autoSizeColumn(cellIndex);
        cellIndex++;
    }
    if(numberOfDefectsPerDetector.getState() == true){
        ArrayList<String> toOtherFunc = new ArrayList<String>();
        toOtherFunc = curDF.getDetectorNames();
        for(int i=0; i < toOtherFunc.size() ; i++){
            row.createCell(cellIndex).setCellValue(toOtherFunc.get(i)); 
            sheet.autoSizeColumn(cellIndex);
            cellIndex++;
        }
    }
    if(sensetivityName.getState() == true){
        row.createCell(cellIndex).setCellValue("sensetivity Name");
        sheet.autoSizeColumn(cellIndex);
        cellIndex++;
    }
    if(LOGloaded == true){
        row.createCell(cellIndex).setCellValue("Slices were detected");
        sheet.autoSizeColumn(cellIndex);
        cellIndex++;

    }
    if(inspectionDuration.getState()==true){
        row.createCell(cellIndex).setCellValue("Inspection Duration");
        sheet.autoSizeColumn(cellIndex);
        cellIndex++;
    }


    for (Row row : sheet){
        for (Cell cell_local : row){
            cell_local.setCellStyle(csForFirstWrite);
        }


    }

    System.out.println("row index is: " + rowIndex + "cell index is: " + cellIndex);

}


/* fill the excel in the data were collected */

private void writeToExcel(DefectFileReader curDF , XSSFSheet sheet , XSSFWorkbook workbook , FileOutputStream fos) throws Exception{

        fontNotForBold.setBold(false);
        csForSecondWrite.setFont(fontNotForBold);
        csForSecondWrite.setFillForegroundColor(new XSSFColor(java.awt.Color.white));
        csForSecondWrite.setFillPattern(CellStyle.SOLID_FOREGROUND);
        csForSecondWrite.setBorderBottom(XSSFCellStyle.BORDER_THIN);
        csForSecondWrite.setBorderTop(XSSFCellStyle.BORDER_THIN);
        csForSecondWrite.setBorderRight(XSSFCellStyle.BORDER_THIN);
        csForSecondWrite.setBorderLeft(XSSFCellStyle.BORDER_THIN);
    cellIndex = 4;
    row = sheet.createRow(rowIndex++);
    row.createCell(cellIndex++).setCellValue("inspection_" + (rowIndex - 3));
    if(numberOfDefects.getState() == true)
        row.createCell(cellIndex++).setCellValue(curDF.getTotalDefects());
    if(numberOfDefectsPerDetector.getState() == true){
        ArrayList<String> toOtherFunc = new ArrayList<String>();
        int[] toPrintNumber = new int[toOtherFunc.size()];
        toOtherFunc = curDF.getDetectorNames();
        System.out.println(toOtherFunc);
        toPrintNumber = curDF.getDefectPerDetector(toOtherFunc);
        for(int i=0; i < toOtherFunc.size() ; i++)
            row.createCell(cellIndex++).setCellValue(toPrintNumber[i]); 
    }
    if(sensetivityName.getState() == true)
        row.createCell(cellIndex++).setCellValue(curDF.getSensetivityName());
    if(LOGloaded == true){
        LogFileReader logReader = new LogFileReader(LOG , curDF.getInspectionEndTime());
        ArrayList<String> toLog = curDF.getRunsIndex();
        String toPrint = "";
        for(int i=0 ; i < toLog.size() ; i = i+2)
            toPrint += toLog.get(i) + ": " + logReader.diagnozeLog(toLog.get(i+1)) + " ";
        if(toPrint.equals(""))
            row.createCell(cellIndex).setCellValue("The data of this run is not in this log!");
        else
            row.createCell(cellIndex).setCellValue(toPrint);
        sheet.autoSizeColumn(cellIndex);
        cellIndex++;

    }
    if(inspectionDuration.getState()==true)
        row.createCell(cellIndex++).setCellValue(curDF.inspectionDuration());


    for (Row row : sheet){
        if( row.getRowNum() > 2){
        for (Cell cell_local : row){
            cell_local.setCellStyle(csForSecondWrite);
        }
        }


    }


    System.out.println("row index is: " + rowIndex + " cell index is: " + cellIndex);


}

/* adding the inspection time of the current run to the total time */

public String sumTimes(String time1) {
    PeriodFormatter formatter = new PeriodFormatterBuilder()
            .minimumPrintedDigits(2)
            .printZeroAlways()
            .appendHours()
            .appendLiteral(":")
            .appendMinutes()
            .appendLiteral(":")
            .appendSeconds()
            .toFormatter();

    org.joda.time.Period period1 = formatter.parsePeriod(time1);
    org.joda.time.Period period2 = formatter.parsePeriod(totalDuration);
    return formatter.print(period2.plus(period1).normalizedStandard());
}

public void initializeFrame(){
    frame.setSize(300, 100);
    pBar.setForeground(Color.black);
    pBar.setStringPainted(true);
    frame.add(pBar);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
}

class MyprogressBar extends SwingWorker<Void, Integer> {

    JProgressBar pBar;
    int max;
    int currentFolder;

    public MyprogressBar(JProgressBar curBar , int max , int currentFolder){
        this.pBar = curBar;
        this.max = max;
        this.currentFolder = currentFolder;
    }
    public void done(){

    }


    @Override
    protected Void doInBackground() throws Exception {
            System.out.println("i'm in background");
            double i = currentFolder;
            double t = DFLIST.length;
            double toSetInDouble = (i/t);
            int toSet = (int) (toSetInDouble * 100);
            pBar.setValue(toSet); 
            System.out.println(toSet);
            repaint();
            Thread.sleep(10); 
            publish(toSet);

        return null;
    }

}

    /* adding listener to all of the buttons and check boxes */

public class MyActionListener implements ActionListener  
{
    public void actionPerformed(ActionEvent click) 
    {
        if(click.getSource() == chooseDF){
            File directory;
            FilenameFilter f = new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.length()<=2;
                }
            };
            FilenameFilter def = new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.endsWith(".def");
                }
            };
            JFileChooser chooser = new JFileChooser(System.getProperties().getProperty("user.dir"));
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            if(chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
                DFloaded = true;
                directory = chooser.getSelectedFile();
                File[] fileList = directory.listFiles(f);
                Arrays.sort(fileList , new NaturalOrderComparator());
                DFLIST = new File[fileList.length];
                for(int i = 0 ; i<fileList.length ; i++){
                    File[] tmp = fileList[i].listFiles(def);
                    for(int j=0 ; j<tmp.length ; j++)
                        DFLIST[i] = tmp[j];
                }
            }

        }

        if(click.getSource() == chooseInp){
            JFileChooser fc2 = new JFileChooser();
            if (fc2.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
                INPloaded = true;
                INP = fc2.getSelectedFile();
            }
        }

        if(click.getSource() == chooseLog){
            JFileChooser fc3 = new JFileChooser();
            if(fc3.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
                LOGloaded = true;
                LOG = fc3.getSelectedFile();


            }
        }

        if(click.getSource() == analayze){
            Boolean valid = isValidToStart();
            if(valid == true){
                try{
                fos = new FileOutputStream("c:/temp/analayze.xlsx");
            if(DFloaded == true){
                try {
                    initializeFrame();
                    DF = new File[DFLIST.length];
                    dfReader = new DefectFileReader[DFLIST.length];
                    docArray = new Document[DFLIST.length];
                    for( ; currentFolder < DFLIST.length ; currentFolder++){
                        new MyprogressBar(pBar, 100, currentFolder + 1).execute();
                        frame.repaint();
                        System.out.println("i'm sending the file down here to parse from file to document");
                        System.out.println(DFLIST[currentFolder].getAbsoluteFile());
                        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
                        DocumentBuilder db = dbf.newDocumentBuilder();
                        docArray[currentFolder] = (Document) db.parse(DFLIST[currentFolder]);
                        docArray[currentFolder].getDocumentElement().normalize();
                        dfReader[currentFolder] = new DefectFileReader(DFLIST[currentFolder] , docArray[currentFolder]);
                        dfReader[currentFolder].getRunsIndex();
                        totalDuration = sumTimes(dfReader[currentFolder].inspectionDuration());
                        if(currentFolder==0){
                            firstWriteToExcel(dfReader[0], sheet, workbook, fos);
                            writeToExcel(dfReader[0], sheet, workbook, fos);
                        }
                        if(currentFolder!=0)
                            writeToExcel(dfReader[currentFolder] , sheet ,  workbook , fos );
                        repaint();
                    if(INPloaded == true){

                    }
                    DFLIST[currentFolder] = null;
                    dfReader[currentFolder].clearDfReader();
                    docArray[currentFolder] = null;
                    System.gc();
                   }
                }
                   catch(Exception e ) {
                      System.out.println(e);
                      System.exit(0);
                   }
            }

            row = sheet.createRow(rowIndex);
            totalDuration = sumTimes("00:00:00");
            if(inspectionDuration.getState() == true){
            row.createCell(cellIndex - 1).setCellValue(totalDuration);
            row.getCell(cellIndex - 1).setCellStyle(csForFirstWrite);
            }
            ((Workbook) workbook).write(fos);
            workbook.close();
            JOptionPane.showMessageDialog(null, "Your data has been analyze!\n you can find the result in c:\\temp");
            System.exit(0);

        }catch(Exception e){
            e.printStackTrace();
        }

    }
}


}
}



}

这是我的路线:

<div class="wrapper wrapper-content animated fadeIn text-center" ng-controller="ProjectCtrl">
    <div class="row row-centered">
        <div ng-repeat="project in _projects">
            <div class="project-container col-lg-3 col-md-4 col-sm-6 col-centered text-center">
                <div class="project-thumb-container">
                    <div  class="project-thumb" style="background-image: url('img/project{{project.projectid}}.jpg');">
                        <div class="inner-arrow" ui-sref="portal.dashboard({ projectid: {{project.projectid}} })">
                            <span class="icon-arrow-right fa-5x"></span>
                        </div>
                        <div class="project-settings like-link">
                            <span class="fa fa-gear fa-2x" ng-click="open('test')"></span>
                        </div>
                        <div class="project-share like-link">
                            <span class="fa fa-users fa-2x" ng-click="open('test')"></span>
                        </div>
                    </div>
                </div>

                <h2>{{project.title}}</h2>
            </div>
        </div>

        <div class="project-container col-lg-3 col-md-4 col-sm-6 col-centered text-center">
            <div class="project-thumb-container">
                <div class="project-thumb thumb-new">
                    <div class="plus-icon-container">
                        <span class="fa fa-plus fa-5x"></span>
                    </div>
                </div>
            </div>
            <h4><i>Add Project</i></h4>
        </div>
    </div>

</div>

在前端运行该代码时,我不断收到此错误:'use strict'; angular.module('controllers', ['Projects']).controller('ProjectCtrl', function($scope, Projects) { var _self = this; _self.error = null; _self.processing = true; Projects.getProjectList().then(function(data){ $scope._projects = data; }).catch(function(err) { _self.error = true; _self.processing = false; }); });

0 个答案:

没有答案