大一Java课设之学生成绩管理系统(2)

目录

1、完整代码如下

2、代码详解

        2.1主界面创建

        2.2文本区域

        2.3 菜单及菜单项创建

        2.4事件监听器添加 

        2.5窗口设置与显示 

3、运行界面一览

 登录界面

 功能界面

4、建议



        这次,我们简单地来做登陆后的功能界面。

     1、完整代码如下


import java.awt.event.*;
import javax.swing.*;

public class mainMenu {
    // 主菜单类
    public mainMenu(){
        // 创建一个JFrame窗口,标题为"Student Score System"
        JFrame frame = new JFrame("Student Score System");
        // 创建一个JTextArea文本区域,设置为不可编辑
        JTextArea text = new JTextArea();
        text.setEditable(false);
        // 将文本区域添加到滚动面板中
        frame.getContentPane().add(new JScrollPane(text));
        // 创建两个JMenu菜单
        JMenu menu1 = new JMenu("File");
        JMenu menu2 = new JMenu("关于");
        //创建菜单项并添加到菜单栏
        JMenuBar menuBar = new JMenuBar();
        JMenuItem item1 = new JMenuItem("录入成绩");
        JMenuItem item2 = new JMenuItem("查询成绩");
        JMenuItem item3 = new JMenuItem("修改成绩");
        JMenuItem item4 = new JMenuItem("删除成绩");
        JMenuItem item5 = new JMenuItem("按总分排名");
        JMenuItem item6 = new JMenuItem("按学号排名");
        JMenuItem item7 = new JMenuItem("关于本系统");

        // 将菜单项添加到菜单中
        menu1.add(item1);
        menu1.add(item2);
        menu1.add(item3);
        menu1.add(item4);
        menu1.add(item5);
        menu1.add(item6);
        menu2.add(item7);

        // 将菜单添加到菜单栏中
        menuBar.add(menu1);
        menuBar.add(menu2);
        // 将菜单栏添加到窗口中
        frame.setJMenuBar(menuBar);
        //item1~6d的事件监听器后面再去完善

        // 为"关于本系统"菜单项添加事件监听器
        item7.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                // 创建一个JFrame窗口,标题为"关于本系统"
                JFrame about = new JFrame("关于本系统");
                // 设置窗口布局为null
                about.setLayout(null);
                // 创建三个JLabel标签
                JLabel title1 = new JLabel("学生成绩管理系统");
                JLabel title2 = new JLabel("版本号:1.0");
                JLabel title3 = new JLabel("欢迎!");

                // 设置窗口大小和位置
                about.setSize(300, 300);
                about.setLocation(500, 300);
                // 设置标签位置
                title1.setBounds(100, 50, 200, 30);
                title2.setBounds(100, 100, 200, 30);
                title3.setBounds(100, 150, 200, 30);

                // 将标签添加到窗口中
                about.add(title1);
                about.add(title2);
                about.add(title3);
                // 设置窗口可见
                about.setVisible(true);
            }
        });

        // 设置窗口可见
        frame.setVisible(true);
        // 设置窗口大小和位置
        frame.setSize(900, 800);
        frame.setLocation(425, 150);
    }
}

2、代码详解

        2.1主界面创建

  • 主界面创建JFrame frame = new JFrame("Student Score System"); 创建了一个标题为 “Student Score System” 的窗口对象 frame,它是整个应用程序的主界面容器。

        2.2文本区域

  • 文本区域设置JTextArea text = new JTextArea(); 创建了一个文本区域组件 text,用于显示和编辑文本内容。

  • text.setEditable(true); 设置文本区域为可编辑状态;想要不可编辑可以把 true 转换为 false。

  • frame.getContentPane().add(new JScrollPane(text)); 将文本区域放入滚动面板中,并添加到窗口的内容面板里,使得文本区域可以滚动查看。

        2.3 菜单及菜单项创建

  • JMenu menu1 = new JMenu("File");JMenu menu2 = new JMenu("关于"); 分别创建了 “File” 和 “关于” 两个菜单对象。
  • 使用 new JMenuItem() 创建了多个具体的菜单项,如 “录入成绩”“查询成绩” 等,并通过 menu1.add(item1); 等语句将这些菜单项添加到对应的菜单中。
  • JMenuBar menuBar = new JMenuBar(); 创建了一个菜单栏对象。
  • 通过 menuBar.add(menu1);menuBar.add(menu2); 将两个菜单添加到菜单栏中。
  • frame.setJMenuBar(menuBar); 将菜单栏设置到主窗口上,使其在窗口顶部显示。

        2.4事件监听器添加 

  • 为 “关于本系统” 菜单项 item7 添加了一个匿名的 ActionListener 事件监听器。
  • actionPerformed 方法中,当该菜单项被点击时,会创建一个新的 JFrame 窗口 about,设置其布局为 null,然后创建三个 JLabel 标签用于显示系统相关信息,并通过 about.add(title1); 等语句将标签添加到窗口中,最后调用 about.setVisible(true); 显示该窗口。
  • item1 到 6的事件监听器等我们创建好了相关的类再去添加相关的事件监听器。

        2.5窗口设置与显示 

  • 在构造方法的最后,通过 frame.setVisible(true); 设置主窗口可见.
  • 使用 frame.setSize(900, 800);frame.setLocation(425, 150); 分别设置了主窗口的大小和位置,使其在屏幕上合适地显示。

3、运行界面一览

        上一章好像忘记给图了,这章补上。

        登录界面

大一Java课设之学生成绩管理系统(2)_第1张图片


         功能界面

大一Java课设之学生成绩管理系统(2)_第2张图片

大一Java课设之学生成绩管理系统(2)_第3张图片


4、建议

        我的建议是把文本区域变一下。把

// 创建一个JTextArea文本区域,设置为不可编辑
JTextArea text = new JTextArea();
text.setEditable(false);

        变为

 frame.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));
 JLabel label1 = new JLabel("欢迎使用学生成绩管理系统!");
 JLabel label2 = new JLabel("请在 File 中选择您要进行的操作!");
 label1.setFont(new Font("宋体", Font.BOLD, 40));
 frame.getContentPane().add(label1);
 label2.setFont(new Font("宋体", Font.BOLD, 40));
 frame.getContentPane().add(label2);

        这样,整个画面都不会太空洞。当然,你在网上找到更好的方法的话,请务必来告诉我!!


好了,今天就下到这了!!!


你可能感兴趣的:(Java期末课设,java,开发语言)