山东农业大学Java课堂派作业:学生信息管理系统
"Java课堂派作业12 - 山东农业大学2017级董卫的Java编程实践项目" 这篇作业展示了基础的Java GUI编程技术,使用了Java Swing库来创建一个简单的学生信息管理系统。主要涉及以下知识点: 1. **包(Package)管理**:在Java程序中,使用`package`关键字定义了两个包,` Jian12`,这有助于组织代码,避免命名冲突,并提供了一种方式来管理类和接口。 2. **主类(Main Class)**:`Main`类是程序的入口点,包含`main`方法。`public static void main(String[] args)`是所有Java应用程序的起点,JVM通过这个方法启动。 3. **继承(Inheritance)**:`Frame`类继承自`javax.swing.JFrame`,这意味着`Frame`类具备了`JFrame`的所有功能,并可以添加额外的方法或属性。 4. **接口实现(Interface Implementation)**:`Frame`类实现了`ActionListener`接口,这意味着它必须提供该接口定义的所有方法的实现。在这里,`actionPerformed(ActionEvent e)`方法将被用于处理用户交互。 5. **事件监听(Event Handling)**:`ActionListener`接口用于监听用户操作,例如点击按钮。在GUI应用中,这通常用来响应用户的输入并执行相应的操作。 6. **Swing组件(Swing Components)**: - `JFrame`:这是Java Swing中的顶级容器,用于展示应用程序的主窗口。 - `JLabel`:用于显示文本或图像。 - `JButton`:创建可点击的按钮。 - `JTextArea`:提供多行文本输入和显示。 - `JTextField`:用于单行文本输入。 - `JScrollPane`:当组件内容过多无法完全显示时,提供滚动功能。 - `JOptionPane`:用于弹出对话框,向用户提供信息或者接收输入。 - `JPanel`:作为组件的容器,可以设置布局管理器。 7. **布局管理器(Layout Manager)**:`setLayout(null)`意味着没有使用内置的布局管理器,而是采用绝对布局,允许开发者手动设置每个组件的位置和大小。`GridLayout`则用于特定的面板,按照网格布局排列组件。 8. **字体(Font)**:`Font`类用于设置文本组件的字体样式,这里创建了一个具有粗体(BOLD)样式的字体对象。 9. **窗口设置(Window Configuration)**:`setTitle`, `setVisible`, `setDefaultCloseOperation`, `setBounds`分别用于设置窗口的标题、可见性、关闭操作以及窗口的边界位置和大小。 10. **实例化对象(Object Instantiation)**:在`Frame`构造函数中,创建了多个Swing组件的实例,如`StudentGroup`,`JTextArea`, `JTextField`等,这些对象在界面中扮演不同的角色。 11. **方法调用**:`new Frame()`在`main`方法中创建并初始化了`Frame`实例,使得窗口显示出来。 这个作业展示了如何使用Java Swing构建一个基本的学生信息录入系统,包括界面设计、事件处理以及组件交互。学生可以通过输入框输入学生ID、姓名和成绩,然后通过按钮触发操作,例如保存或显示信息。尽管没有展示具体的逻辑处理部分,但整个框架为后续功能的扩展提供了基础。
public class Main {
public static void main(String[] args) {
new Frame();
}
}
package 作业12;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
class Frame extends JFrame implements ActionListener {
StudentGroup studentgroup = new StudentGroup();
final JTextArea textArea = new JTextArea("序号 学号 姓名 成绩\n", 10, 42);
final JTextField IDTextField = new JTextField();
final JTextField nameTextField = new JTextField();
final JTextField gradeTextField = new JTextField();
Frame() {
Font f = new Font("黑体", Font.BOLD, 12);
/************************ 窗口 *********************/
setTitle("学生信息管理系统");
setVisible(true);
setLayout(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100, 100, 520, 350);
/************************ 显示信息面板 *********************/
final JLabel title = new JLabel("学生信息");
title.setFont(f);
title.setBounds(115, 10, 60, 15);
add(title);
final JScrollPane jscrollPane = new JScrollPane(textArea);
jscrollPane.setBounds(20, 30, 240, 250);
jscrollPane.setHorizontalScrollBarPolicy(31);
// jscrollPane.setWheelScrollingEnabled(true);
add(jscrollPane);
/************************ 输入信息面板 *********************/
final JPanel inputPanel = new JPanel(new GridLayout(3, 2, 10, 10));
final JLabel numberTitle = new JLabel("学号:", 4);
final JLabel nameTitle = new JLabel("姓名:", 4);
final JLabel gradeTitle = new JLabel("成绩:", 4);
inputPanel.add(numberTitle);
剩余12页未读,继续阅读
- 粉丝: 7
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全