编写一个学生信息登记系统,在新生入学时,用于录入学生的各种信息(GUI)

2024-03-02 17:20

本文主要是介绍编写一个学生信息登记系统,在新生入学时,用于录入学生的各种信息(GUI),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目:编写一个学生信息登记系统,在新生入学时,用于录入学生的各种信息,如姓名、性别、班级、电话、手机、电子邮箱、通信地址、邮政编码等。在图形用户界面上,有菜单栏,也有工具栏及各种各样的控件。当学生的信息被录入后,需要保存在文件中。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.*;public class InfoDemo extends JFrame implements ActionListener{//菜单条组件JMenuBar jmb;//菜单JMenu menu1, menu2, menu3, menu4, menu5,menu6;//菜单项JMenuItem item1, item2, item3, item4, item5, item6,item7;//工具条JToolBar jtb;//工具条项JButton jb1, jb2, jb3, jb4, jb5;//文本框TextField tf1, tf2, tf3, tf4, tf5, tf6, tf7, tf8;public void go(){this.setTitle("学生信息登记系统");this.setBounds(600, 300, 600, 280);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocationRelativeTo(null);//创建菜单  jmb = new JMenuBar();//不能设定位置,会自动放在最上部this.setJMenuBar(jmb);//添加菜单menu1 = new JMenu("文件");menu2 = new JMenu("编辑");menu3 = new JMenu("视图");menu4 = new JMenu("运行");menu5 = new JMenu("工具");menu6 = new JMenu("帮助");item1 = new JMenuItem("新建");item2 = new JMenuItem("打开");item3 = new JMenuItem("保存");item4 = new JMenuItem("另存为");item5 = new JMenuItem("页面设置");item6 = new JMenuItem("打印");item7 = new JMenuItem("退出");//添加菜单项至菜单上  menu1.add(item1);menu1.add(item2);menu1.add(item3);menu1.add(item4);menu1.add(item5);menu1.add(item6);//将菜单加入至菜单条  jmb.add(menu1);jmb.add(menu2);jmb.add(menu3);jmb.add(menu4);jmb.add(menu5);//创建工具条        jtb = new JToolBar();this.add(jtb, BorderLayout.NORTH);//添加工具条jb1 = new JButton("新建");jb2 = new JButton("打开");jb3 = new JButton("复制");jb4 = new JButton("剪切");jb5 = new JButton("打印");jtb.add(jb1);jtb.add(jb2);jtb.add(jb3);jtb.add(jb4);jtb.add(jb5);JPanel p = getCheckBoxPanel();this.add(p,BorderLayout.CENTER);JButton button = new JButton("保存");this.add(button,BorderLayout.SOUTH);button.addActionListener(this);this.setVisible(true);}public JPanel getCheckBoxPanel(){JPanel p = new JPanel();p.setLayout(new FlowLayout());p.add(new JLabel("姓        名"));tf1 = new TextField(26);p.add(tf1);p.add(new JLabel("性        别"));tf2 = new TextField(26);p.add(tf2);p.add(new JLabel("班        级"));tf3 = new TextField(26);p.add(tf3);p.add(new JLabel("电        话"));tf4 = new TextField(26);p.add(tf4);p.add(new JLabel("手        机"));tf5 = new TextField(26);p.add(tf5);p.add(new JLabel("电子邮箱"));tf6 = new TextField(26);p.add(tf6);p.add(new JLabel("通信地址"));tf7 = new TextField(26);p.add(tf7);p.add(new JLabel("邮政编码"));tf8 = new TextField(26);p.add(tf8);return p;}public static void main(String[] args) {InfoDemo demo = new InfoDemo();demo.go();}@Overridepublic void actionPerformed(ActionEvent e) {try{PrintStream out = new PrintStream(new File("output.txt"));String str1 = tf1.getText();out.println("姓名:" + str1);String str2 = tf2.getText();out.println("性别:" + str2);String str3 = tf3.getText();out.println("班级:" + str3);String str4 = tf4.getText();out.println("电话:" + str4);String str5 = tf5.getText();out.println("手机:" + str5);String str6 = tf6.getText();out.println("电子邮箱:" + str6);String str7 = tf7.getText();out.println("通信地址:" + str7);String str8 = tf8.getText();out.println("邮政编码:" + str8);}catch(FileNotFoundException ex){System.out.println("无法打开文件");}}
} 

运行效果:

这篇关于编写一个学生信息登记系统,在新生入学时,用于录入学生的各种信息(GUI)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/766879

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase