Java ArrayList从gui打印代码
我有严重的麻烦 我必须编写的程序是一个GUI,它本质上要求:Java ArrayList从gui打印代码,java,swing,arraylist,jpanel,actionlistener,Java,Swing,Arraylist,Jpanel,Actionlistener,我有严重的麻烦 我必须编写的程序是一个GUI,它本质上要求: 课程(例如:cpsc130) 名称(例如:计算机编程2) 你在课程中获得的学分数量(例3) 和你的成绩(前A,B) 我不太擅长ActionListeners,显然我不知道我在用它做什么。我必须制作一个ArrayList来获取信息 一个ArrayList(实例变量),例如courseList,用于存储您添加的课程 四个内部的ActionListener类,每个类都实现其 行动已经完成。具体地说 AddCourseListener:
- 课程(例如:cpsc130)
- 名称(例如:计算机编程2)
- 你在课程中获得的学分数量(例3)
- 和你的成绩(前A,B)
ActionListener
s,显然我不知道我在用它做什么。我必须制作一个ArrayList
来获取信息
- 一个
(实例变量),例如courseList,用于存储您添加的课程李>ArrayList
- 四个内部的
类,每个类都实现其 行动已经完成。具体地说ActionListener
- AddCourseListener:读取输入并创建课程对象,添加课程 对象添加到courseList中,并将其附加到输出区域中李>
- CalGPAListener:阅读课程列表中的所有课程学分和成绩,添加 然后计算总平均成绩。假设A是4,B是3,C是2, D是1,E是0。GPA=总和(积分点)=总积分。例如(图 1) ,你修了3门课:130(3学分,A级),131(3学分,A级) B) ,和370(4学分,B级),那么你的GPA=(3*4+3*3+4*3)/(3+3+4) =3.3
- ResetInputListener:重置所有输入ELD李>
- ResetOutputListener:重置输出区域
ActionListener
s。到目前为止,我将向您展示我的代码。编译后,它将显示所有的按钮
s和TextArea
s,ActionListener
s是我唯一需要帮助的东西
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class DegreeWorksFrame extends JFrame {
private JLabel courseCodeLabel;
private JTextField courseCodeField;
private JLabel courseNameLabel;
private JTextField courseNameField;
private JLabel courseCreditLabel;
private JTextField courseCreditField;
private JLabel courseGradeLabel;
private JTextField courseGradeField;
private JTextArea resultArea;
private double sum =0;
private double totalCredits=0;
private String code = "";
private String name = "";
private String credit = "";
private String grade = "";
private String heading = ("Code\tName\tCredit\tGrade" + "\n");
private ArrayList<Course> courseList;
private JButton AddCourse;
private JButton CalculateGPA;
private JButton ResetInput;
private JButton ResetOutput;
private static final int AREA_ROWS = 15;
private static final int AREA_COLUMNS = 35;
private final int FRAME_HEIGHT =400;
private final int FRAME_WIDTH = 500;
final int FIELD_WIDTH = 30;
public DegreeWorksFrame() {
resultArea = new JTextArea(AREA_ROWS, AREA_COLUMNS);
resultArea.setText(heading);
resultArea.setEditable(false);
createTextField1();
createTextField2();
createTextField3();
createTextField4();
createButtonAddCourse();
createButtonCalculateGPA();
createButtonResetInput();
createButtonResetOutput();
createPanel();
setSize(FRAME_WIDTH, FRAME_HEIGHT);
}
private void createTextField1() {
courseCodeLabel = new JLabel("Enter Course Code: ");
courseCodeField = new JTextField(FIELD_WIDTH);
courseCodeField.setText(code);
}
private void createTextField2() {
courseNameLabel = new JLabel("Enter Course Name: ");
courseNameField = new JTextField(FIELD_WIDTH);
courseNameField.setText(name);
}
private void createTextField3() {
courseCreditLabel = new JLabel("Enter Course Credit: ");
courseCreditField = new JTextField(FIELD_WIDTH);
courseCreditField.setText(credit);
}
private void createTextField4() {
courseGradeLabel = new JLabel("Enter Course Grade: ");
courseGradeField = new JTextField(FIELD_WIDTH);
courseGradeField.setText(grade);
}
private void createButtonAddCourse() {
AddCourse = new JButton ("Add Courses: ");
ActionListener listener = new addCourseListener();
AddCourse.addActionListener(listener);
}
class addCourseListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
courseList = new ArrayList();
String receiveList = userList.get
}
}
private void createButtonCalculateGPA() {
CalculateGPA = new JButton ("Calculate GPA");
ActionListener listener = new addCourseListener();
AddCourse.addActionListener(listener);
}
class calculateGPAListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
}
}
private void createButtonResetInput() {
ResetInput = new JButton ("Reset Input");
ActionListener listener = new addCourseListener();
AddCourse.addActionListener(listener);
}
class resetInputListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
}
}
private void createButtonResetOutput() {
ResetOutput = new JButton ("Reset Output");
ActionListener listener = new addCourseListener();
AddCourse.addActionListener(listener);
}
class resetOutputListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
}
}
private void createPanel() {
JPanel panel = new JPanel();
panel.add(courseCodeLabel);
panel.add(courseCodeField);
panel.add(courseNameLabel);
panel.add(courseNameField);
panel.add(courseCreditLabel);
panel.add(courseCreditField);
panel.add(courseGradeLabel);
panel.add(courseGradeField);
//buttons
panel.add(AddCourse);
panel.add(CalculateGPA);
panel.add(ResetInput);
panel.add(ResetOutput);
//Scroll bar
JScrollPane scrollPane = new JScrollPane(resultArea);
panel.add(scrollPane);
add(panel);
}
}
import javax.swing.*;
导入java.awt.event.*;
导入java.util.*;
公共类DegreeWorksFrame扩展了JFrame{
私人JLabel courseCodeLabel;
私人JTextField courseCodeField;
私人JLabel courseNameLabel;
私人JTextField courseNameField;
私人JLabel课程编辑标签;
私人JTextField Coursecredfield;
私人JLabel courseGradeLabel;
私人JTextField courseGradeField;
私有区域结果区;
私人双和=0;
私人双积分=0;
私有字符串代码=”;
私有字符串名称=”;
私人字符串信贷=”;
私人字符串等级=”;
私有字符串标题=(“代码\tName\tCredit\tGrade”+“\n”);
私人ArrayList courseList;
私人JButton-AddCourse;
私人JButton-CalculateGPA;
私有JButton重置输入;
私有JButton重置输出;
专用静态最终int区域_行=15;
专用静态最终int区域_列=35;
专用最终内部框架高度=400;
专用最终整数帧_宽度=500;
最终整型字段_宽度=30;
公共DegreeWorksFrame(){
resultArea=新的JTextArea(AREA\u行、AREA\u列);
结果a.setText(标题);
resultArea.setEditable(false);
createTextField1();
createTextField2();
createTextField3();
createTextField4();
createButtonAddCourse();
createButtonCalculateGPA();
createButtonResetInput();
createButtonResetOutput();
createPanel();
设置尺寸(框宽、框高);
}
私有void createTextField1(){
courseCodeLabel=新的JLabel(“输入课程代码:”);
courseCodeField=新的JTextField(字段宽度);
courseDefield.setText(代码);
}
私有void createTextField2(){
courseNameLabel=new JLabel(“输入课程名称:”);
courseNameField=新的JTextField(字段宽度);
courseNameField.setText(名称);
}
私有void createTextField3(){
courseCreditLabel=新的JLabel(“输入课程学分:”);
CourseCredField=新的JTextField(字段宽度);
courseCreditField.setText(学分);
}
私有void createTextField4(){
courseGradeLabel=新的JLabel(“输入课程成绩:”);
courseGradeField=新的JTextField(字段宽度);
courseGradeField.setText(年级);
}
私有void createButtonAddCourse(){
AddCourse=newjbutton(“添加课程:”);
ActionListener=new addCourseListener();
AddCourse.addActionListener(listener);
}
类addCourseListener实现ActionListener{
已执行的公共无效操作(操作事件){
courseList=新的ArrayList();
字符串receiveList=userList.get
}
}
私有void createButtonCalculateGPA(){
CalculateGPA=新的JButton(“计算GPA”);
ActionListener=new addCourseListener();
AddCourse.addActionListener(listener);
}
类calculateGPAListener实现ActionListener{
已执行的公共无效操作(操作事件){
}
}
私有void createButtonResetInput(){
重置输入=新的JButton(“重置输入”);
ActionListener=new addCourseListener();
AddCourse.addActionListener(listener);
}
类resetInputListener实现ActionListener{
已执行的公共无效操作(操作事件){
}
}
私有void createButtonResetOutput(){
ResetOutput=新的JButton(“重置输出”);
ActionListener=new addCourseListener();
AddCourse.addActionListener(listener);
}
类resetOutputListener实现ActionListener{
已执行的公共无效操作(操作事件){
}
}
私有void createPanel(){
JPanel面板=新的JPanel();
添加面板(courseCodeLabel);
面板。添加(courseCodeField);
panel.add(courseNameLabel);
面板添加(courseNameField);
面板。添加(courseCreditLabel);
panel.add(coursecredfield);
面板。添加(courseGradeLabel);
面板。添加(courseGradeField);
//钮扣
面板。添加(添加课程);
面板。添加(计算EGPA);
面板。添加(重置输入);
a小组
private void createButtonAddCourse() {
AddCourse = new JButton ("Add Courses: ");
AddCourse.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Create a new Course object and add it to the ArrayList here
}
});
}
...
private void createButtonCalculateGPA() {
CalculateGPA = new JButton ("Calculate GPA");
CalculateGPA.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Iterate over the ArrayList and calculate the overall GPA for each course
}
});
}