package studentManage;
import java.awt.EventQueue;
import java.awt.Font;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.awt.event.ActionEvent;
public class ChangeFrame extends JFrame {
private JPanel contentPane;
private JTextField idField;
private JTextField nameField;
private JTextField genderField;
private JTextField dobField1;
private JTextField dobField2;
private JTextField dobField3;
private JTextField batchField;
private JTextField searchField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ChangeFrame frame = new ChangeFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ChangeFrame() {
setResizable(false);
setTitle("修改信息");
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(200, 200, 600, 600);
setLocationRelativeTo(null);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));
JPanel panel = new JPanel();
contentPane.add(panel);
panel.setLayout(null);
JLabel lblNewLabel = new JLabel("请输入要修改的学生的学号:");
lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 16));
lblNewLabel.setBounds(180, 3, 220, 45);
panel.add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("学号:");
lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 16));
lblNewLabel_1.setBounds(121, 105, 50, 30);
panel.add(lblNewLabel_1);
idField = new JTextField();
idField.setEditable(false);
idField.setBounds(180, 99, 240, 45);
panel.add(idField);
idField.setColumns(10);
JLabel lblNewLabel_1_1 = new JLabel("姓名:");
lblNewLabel_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
lblNewLabel_1_1.setBounds(121, 160, 50, 30);
panel.add(lblNewLabel_1_1);
nameField = new JTextField();
nameField.setColumns(10);
nameField.setBounds(180, 154, 240, 45);
panel.add(nameField);
JLabel lblNewLabel_1_1_1 = new JLabel("性别:");
lblNewLabel_1_1_1.setFont(new Font("宋体", Font.PLAIN, 16));
lblNewLabel_1_1_1.setBounds(121, 215, 50, 30);
panel.add(lblNewLabel_1_1_1);
genderField = new JTextField();
genderField.setColumns(10);
genderField.setBounds(180, 209, 240, 45);
panel.add(genderField);
JLabel lblNewLabel_1_1_1_2 = new JLabel("接种情况:");
lblNewLabel_1_1_1_2.setFont(new Font("宋体", Font.PLAIN, 16));
lblNewLabel_1_1_1_2.setBounds(91, 270, 100, 30);
panel.add(lblNewLabel_1_1_1_2);
batchField = new JTextField();
batchField.setColumns(10);
batchField.setBounds(180, 264, 240, 45);
panel.add(batchField);
JLabel lblNewLabel_2 = new JLabel("第一针接种日期:");
lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 16));
lblNewLabel_2.setBounds(41, 325, 150, 30);
panel.add(lblNewLabel_2);
dobField1 = new JTextField();
dobField1.setColumns(10);
dobField1.setBounds(180, 319, 240, 45);
panel.add(dobField1);
JLabel lblNewLabel_3 = new JLabel("第二针接种日期:");
lblNewLabel_3.setFont(new Font("宋体", Font.PLAIN, 16));
lblNewLabel_3.setBounds(41, 380, 150, 30);
panel.add(lblNewLabel_3);
dobField2 = new JTextField();
dobField2.setColumns(10);
dobField2.setBounds(180, 374, 240, 45);
panel.add(dobField2);
JLabel lblNewLabel_4 = new JLabel("第三针接种日期:");
lblNewLabel_4.setFont(new Font("宋体", Font.PLAIN, 16));
lblNewLabel_4.setBounds(41, 435, 150, 30);
panel.add(lblNewLabel_4);
dobField3 = new JTextField();
dobField3.setColumns(10);
dobField3.setBounds(180, 429, 240, 45);
panel.add(dobField3);
JButton changeButton = new JButton("修改");
changeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int id = Integer.parseInt(searchField.getText());
String nameString = nameField.getText();
String gendeString = genderField.getText();
String batch =batchField.getText();
String dobString1 = dobField1.getText();
String dobString2 = dobField2.getText();
String dobString3 = dobField3.getText();
SQLHelp sqlHelp = new SQLHelp();
try {
sqlHelp.changeStudent(id, nameString, gendeString,batch ,dobString1, dobString2, dobString3 );
JOptionPane.showMessageDialog(ChangeFrame.this, "修改成功!");
} catch (SQLException e) {
JOptionPane.showMessageDialog(ChangeFrame.this, "修改失败!");
e.printStackTrace();
}
}
});
changeButton.setFont(new Font("宋体", Font.PLAIN, 18));
changeButton.setBounds(230, 484, 97, 33);
panel.add(changeButton);
searchField = new JTextField();
searchField.setBounds(181, 39, 208, 45);
panel.add(searchField);
searchField.setColumns(10);
JButton searchButton = new JButton("查找");
searchButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
int id = Integer.parseInt(searchField.getText());
try {
SQLHelp sqlHelp = new SQLHelp();
Student student = sqlHelp.queryStudent(id);
if(student != null) {
// id 是直接读入的,所以就不需要从数据库中读出了
idField.setText(String.valueOf(id));
nameField.setText(student.getName());
genderField.setText(student.getGender());
batchField.setText(String.valueOf(student.getBatch()));
dobField1.setText(student.getDob1());
dobField2.setText(student.getDob2());
dobField3.setText(student.getDob3());
} else {
JOptionPane.showMessageDialog(ChangeFrame.this, "无此用户");
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
});
searchButton.setFont(new Font("宋体", Font.PLAIN, 18));
searchButton.setBounds(400, 42, 97, 39);
panel.add(searchButton);
}
}
20软件工程Iava程序设计.rar
需积分: 0 183 浏览量
更新于2022-12-14
收藏 106.7MB RAR 举报
《Java程序设计在软件工程中的应用深度解析》
在软件工程领域,Java程序设计是一种不可或缺的核心技术。Java以其跨平台性、稳定性和丰富的类库,成为全球开发者广泛使用的编程语言。"20软件工程Java程序设计.rar"这个压缩包文件,尽管没有提供详细的标签信息,但从文件名可以推测,它可能包含了一个关于Java编程的教学资源,如学生数据库(student(1).sql)以及源代码目录(src)。以下将深入探讨Java在软件工程中的应用及其重要性。
一、Java程序设计基础
Java程序设计的基础包括面向对象编程(OOP)概念,如封装、继承和多态。这些概念使得代码更加模块化,易于维护和扩展。Java语法简洁,且具有自动内存管理机制,减少了程序员处理内存泄漏等问题的困扰。
二、学生数据库(student(1).sql)
在软件工程中,数据管理是关键部分。student(1).sql可能是一个包含学生信息的数据库脚本,用于教学示例或项目练习。通过SQL查询,学生可以学习如何与数据库交互,实现数据的增删改查,理解数据库在软件系统中的作用。
三、源代码目录(src)
src目录通常存放项目的源代码文件,可能是Java程序的实现。在这里,学生可以学习到实际的编程技巧,例如如何组织代码结构,如何编写类和方法,如何使用Java API来实现功能。此外,通过阅读和分析源码,学生能掌握异常处理、输入输出、线程同步等高级主题。
四、软件工程实践
在软件工程中,Java不仅用于编写应用程序,还常用于构建企业级系统。Maven或Gradle这样的构建工具,可以帮助管理和构建复杂的Java项目。Eclipse、IntelliJ IDEA等集成开发环境(IDE)提供了强大的编码辅助和调试功能。此外,Spring框架、Hibernate等开源库简化了服务端开发,提高了开发效率。
五、测试与调试
Java编程也涉及单元测试和集成测试,JUnit和TestNG是常用的测试框架。通过编写测试用例,确保代码的正确性和稳定性。同时,Java的调试工具,如IDE内置的调试器,有助于找出并修复程序中的错误。
六、持续集成与部署
在大型软件项目中,持续集成(CI)和持续部署(CD)是必不可少的流程。Jenkins等工具可以帮助自动化构建、测试和部署过程,确保代码质量并缩短开发周期。
总结来说,"20软件工程Java程序设计.rar"涵盖的Java程序设计内容全面,从数据库操作到实际编程,再到软件工程实践,都是软件工程师必备的技能。通过深入学习和实践,学生能够掌握开发高质量、可维护的Java应用程序的能力。
2201_75584839
- 粉丝: 0
- 资源: 1
最新资源
- 精益算法交易引擎由QuantConnect Python C.zip
- 可扩展的可移植和分布式梯度增强GBDT GBRT或GBM库,适用于Python R Java Scala C和更多在单.zip
- 具有静态类型的Python库存根的集合.zip
- 可移植Python数据框架库.zip
- 快速异步和优雅的Python web框架.zip
- 跨平台 Python 异步聊天机器人框架 Asynchronous multiplatform chatbot fr.zip
- 跨平台库,用于Python中的进程和系统监控.zip
- 来自一位 Pythonista 的编程经验分享内容涵盖编码技巧最佳实践与思维模式等方面.zip
- 快速正确的Python JSON库支持datetimes和numpy数据类.zip
- (C语言版)扩展卡尔曼滤波器EKF的锂电池SoC计算仿真模型 容积卡尔曼滤波CKF进行锂电池SOC估计的C语言版本实现,包含定参和FFRLS两种情况,已在VS2019和Ubuntu 20.04.4版本
- 来自Python的浏览器交互式数据可视化.zip
- 离线语音识别API Android iOS树莓派和服务器与Python Java C和Node.zip
- 利用Python进行数据分析 第二版 2017 中文翻译笔记.zip
- 领先的本地Python SSHv2协议库.zip
- 灵活而强大的Python数据分析操作库,提供类似于R数据框架对象的标记数据结构,统计函数等等.zip
- 流行的机器学习算法的Python示例与交互式Jupyter演示和数学解释.zip