Java 通过方法和GUI获取输入

Java 通过方法和GUI获取输入,java,swing,user-interface,file-io,methods,Java,Swing,User Interface,File Io,Methods,所以,我有一个任务涉及很多。我需要: 有一个底部有两个按钮的GUI。两个按钮都从我的临时文件夹中获取一个单独的文件 Li >我必须使用过去使用的方法(CopeTealStand和AuthalGeal品位),并在单击第二个按钮时将数据输出到中间的文本字段框中。 我需要从studentscores.txt(一个int字段和一个双字段)中获取数据,并将其放入StringBuilder中,然后将StringBuilder输出到jTextframe上。 private void jbtReadFil

所以,我有一个任务涉及很多。我需要:

  • 有一个底部有两个按钮的GUI。两个按钮都从我的临时文件夹中获取一个单独的文件 <> Li >我必须使用过去使用的方法(CopeTealStand和AuthalGeal品位),并在单击第二个按钮
  • 时将数据输出到中间的文本字段框中。
我需要从studentscores.txt(一个int字段和一个双字段)中获取数据,并将其放入StringBuilder中,然后将StringBuilder输出到jTextframe上。

private void jbtReadFileActionPerformed2(ActionEvent evt) {
    try {
        File inFile = new File("c:/temp/studentscores.txt");
        Scanner input = new Scanner(inFile);
        String fileContents = "";
        while(input.hasNext()) {
        students.add(new Student(input.nextInt(),input.nextLine()));

    } // end while

    for(int o = 0;o < students.size();o++) {
    students.get(o).setGrades(collectGrades(students.get(o).getStuId()));   

    jtxtAfileContents.setText("%-10d %-20s %.2f\n", students.get(o).getStuId(),     students.get(o).getStuName(), averageGrade(students.get(o).getGrades())););
private void jbtReadFileActionPerformed2(ActionEvent evt){
试一试{
File infle=新文件(“c:/temp/studentscores.txt”);
扫描仪输入=新扫描仪(填充);
字符串fileContents=“”;
while(input.hasNext()){
添加(新学生(input.nextInt(),input.nextLine());
}//结束时
对于(into=0;o
我怎样才能让它工作

import java.awt.*        
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;     
import javax.swing.*;
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;

    public class P_Supplemental_11 extends JFrame {

    JPanel jpnl1 = new JPanel();
    JPanel southPanel = new JPanel();
    JButton jbtReadFile1 = new JButton("Get Student Names");
    JButton jbtReadFile2 = new JButton("Get Student Grades");
    JTextField jtxtFilePath = new JTextField();
    JLabel jlblDesc = new JLabel("Click a button to open each file!");
    JTextArea jtxtAfileContents = new JTextArea();


    P_Supplemental_11() {
    this.setLayout(new BorderLayout(5, 10));
    jpnl1.setLayout(new GridLayout(2, 2));
    jpnl1.add(jlblDesc);
    //jpnl1.add(jtxtFilePath);
    southPanel.add(jbtReadFile1);
    southPanel.add(jbtReadFile2);
    add(southPanel, BorderLayout.SOUTH);
    add(jpnl1, BorderLayout.NORTH);
    add(jtxtAfileContents, BorderLayout.CENTER);







    jbtReadFile1.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent evt) {

         jbtReadFileActionPerformed(evt);
     }

    });


    jbtReadFile2.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent evt) {

         jbtReadFileActionPerformed2(evt);
     }

    });


    } // end constructor

    class Student {
    private int stuId;
    private String stuName;
    private ArrayList<Double> grades;

    Student(int idIn, String nameIn) {

        this.stuId = idIn;
        this.stuName = nameIn;
       } // end student class


        public int getStuId() {
            return stuId;
        }


        public void setStuId(int stuId) {
            this.stuId = stuId;
        }

         String getStuName() {
            return stuName;
        }


        public void setStuName(String stuName) {
            this.stuName = stuName;
        }


        public ArrayList<Double> getGrades() {
            return grades;
        }


        public void setGrades(ArrayList grades) {
            this.grades = grades;
        }



   } // end class Student

    ArrayList<Student> students = new ArrayList();

    private void jbtReadFileActionPerformed(ActionEvent evt) {
    try {
        File inFile = new File("c:/temp/studentnames.txt");
        Scanner input = new Scanner(inFile);
        String fileContents = "";
        while(input.hasNext()) {
            fileContents+= input.nextLine() + "\n";
        } // end while

        jtxtAfileContents.setText(fileContents);
        input.close();

    } // end action method for jbtReadFile button
    catch (FileNotFoundException ex) {
        Logger.getLogger(P_Supplemental_11.class.getName()).log(Level.SEVERE, null, ex);
    }
   }

   private void jbtReadFileActionPerformed2(ActionEvent evt) {
    try {
        File inFile = new File("c:/temp/studentscores.txt");
        Scanner input = new Scanner(inFile);
        String fileContents = "";
        while(input.hasNext()) {
        students.add(new Student(input.nextInt(),input.nextLine()));

    } // end while

    for(int o = 0;o < students.size();o++) {
    students.get(o).setGrades(collectGrades(students.get(o).getStuId()));   

    jtxtAfileContents.setText("%-10d %-20s %.2f\n", students.get(o).getStuId(),     students.get(o).getStuName(), averageGrade(students.get(o).getGrades())););

        /*String fileContents = "";
        while(input.hasNext()) {
            fileContents+= input.nextLine() + "\n";
        } // end while
        input.close();
        jtxtAfileContents.setText(collectGrades.getStuName);
        */


    }
    } // end action method for jbtReadFile button
    catch (FileNotFoundException ex) {
        Logger.getLogger(P_Supplemental_11.class.getName()).log(Level.SEVERE, null, ex);
    }
}


public static ArrayList <Double> collectGrades(int inId) {

    ArrayList <Double> outGrade = new ArrayList();
    try {
        File inFile = new File("c:/temp/studentScores.txt");
           Scanner input = new Scanner(inFile);
           while(input.hasNext()) {
           int tmpInt = input.nextInt();
           double tmpDbl = input.nextDouble();
           if(tmpInt == inId) {
               outGrade.add(tmpDbl);
           } // end if
           } // end while

    } catch (FileNotFoundException ex) {
        Logger.getLogger(P_Supplemental_11.class.getName()).log(Level.SEVERE, null, ex);
    } // end catch

    return outGrade;
} // end method

public static double averageGrade(ArrayList <Double> gradeIn) {
    double outAvg = 0.0;

    for(int y = 0; y < gradeIn.size();y++) {
    outAvg+= gradeIn.get(y);
} // end for

return outAvg/gradeIn.size();

}





public static void main(String[] args) {
    P_Supplemental_11 frame = new P_Supplemental_11();
    frame.setTitle("P_Supplemenetal_10");
    frame.setSize(410, 520);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);

} // end main
} // end public class P_Supp_11
import java.awt.*
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.io.*;
导入javax.swing.*;
导入java.util.*;
导入java.util.logging.Level;
导入java.util.logging.Logger;
公共类P_补充_11扩展JFrame{
JPanel jpnl1=新的JPanel();
JPanel southPanel=新的JPanel();
JButton jbtReadFile1=新JButton(“获取学生姓名”);
JButton jbtReadFile2=新JButton(“获取学生成绩”);
JTextField jtxtFilePath=新的JTextField();
JLabel jlblDesc=newjlabel(“单击按钮打开每个文件!”);
JTextArea jtxtAfileContents=新的JTextArea();
P_补充_11(){
这个.setLayout(新的BorderLayout(5,10));
jpnl1.setLayout(新的GridLayout(2,2));
jpnl1.add(jlbdesc);
//jpnl1.add(jtxtFilePath);
添加(jbtReadFile1);
添加(jbtReadFile2);
添加(southPanel,BorderLayout.SOUTH);
添加(jpnl1,BorderLayout.NORTH);
添加(jtxtAfileContents,BorderLayout.CENTER);
jbtReadFile1.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件evt){
执行的jbtReadFileActionPerformed(evt);
}
});
jbtReadFile2.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件evt){
jbtReadFileActionPerformed2(evt);
}
});
}//结束构造函数
班级学生{
私家侦探;
私密字符串;
私人审裁官职系;
学生(int-idIn,字符串名称IN){
this.stuId=idIn;
this.stuName=nameIn;
}//结束学生课程
公共int getStuId(){
返回stuId;
}
公共无效设置ID(内部设置ID){
this.stuId=stuId;
}
字符串getstUnitName(){
回击眩晕;
}
public void setStuName(字符串stuName){
this.stuName=stuName;
}
公共阵列列表getGrades(){
返回等级;
}
公共交通等级(ArrayList等级){
这个。等级=等级;
}
}//结业生
ArrayList students=新ArrayList();
私有void jbtReadFileActionPerformed(ActionEvent evt){
试一试{
File infle=新文件(“c:/temp/studentnames.txt”);
扫描仪输入=新扫描仪(填充);
字符串fileContents=“”;
while(input.hasNext()){
fileContents+=input.nextLine()+“\n”;
}//结束时
jtxtAfileContents.setText(fileContents);
input.close();
}//jbtReadFile按钮的结束操作方法
捕获(FileNotFoundException ex){
Logger.getLogger(P_11.class.getName()).log(Level.SEVERE,null,ex);
}
}
私有无效jbtReadFileActionPerformed2(ActionEvent evt){
试一试{
File infle=新文件(“c:/temp/studentscores.txt”);
扫描仪输入=新扫描仪(填充);
字符串fileContents=“”;
while(input.hasNext()){
添加(新学生(input.nextInt(),input.nextLine());
}//结束时
对于(into=0;oimport java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Student extends JFrame {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame = new JFrame("Splashing");
                StudentView view = new StudentView();
                frame.getContentPane().add(view);
                frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
                frame.setMinimumSize(new Dimension(800, 450));
                frame.setLocationRelativeTo(null); // Center
                frame.pack();
                frame.setVisible(true);
            }
        });
    }

    static class StudentView extends JPanel {
        JPanel jpnl1 = new JPanel();
        JPanel southPanel = new JPanel();
        JButton jbtReadFile1 = new JButton("Get Student Names");
        JButton jbtReadFile2 = new JButton("Get Student Grades");
        JTextField jtxtFilePath = new JTextField();
        JLabel jlblDesc = new JLabel("Click a button to open each file!");
        JTextArea jtxtAfileContents = new JTextArea();

        StudentView() {
            this.setLayout(new BorderLayout(5, 10));
            jpnl1.setLayout(new GridLayout(2, 2));
            jpnl1.add(jlblDesc);
            //jpnl1.add(jtxtFilePath);
            jbtReadFile2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    SwingUtilities.invokeLater(new Runnable() {
                        @Override
                        public void run() {
                            jtxtAfileContents.setText(collectGrades());
                        }
                    });
                }
            });
            southPanel.add(jbtReadFile1);
            southPanel.add(jbtReadFile2);
            add(southPanel, BorderLayout.SOUTH);
            add(jpnl1, BorderLayout.NORTH);
            add(jtxtAfileContents, BorderLayout.CENTER);
        }

        private String collectGrades() {
            StringBuilder builder = new StringBuilder("Hello World");
            builder.append("More info");
            return builder.toString();
        }
    }
}