java实现学生信息录入界面

下面是“java实现学生信息录入界面”的完整攻略。

步骤一:创建GUI界面

Java的GUI界面可以使用Swing或JavaFX实现。这里我们以Swing为例。

示例一

以下代码展示了如何使用Swing创建一个简单的GUI界面,包含一个文本框和一个按钮:

import javax.swing.*;

public class StudentInfoGUI extends JFrame {
    private JTextField textField;
    private JButton button;

    public StudentInfoGUI() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("学生信息录入");
        setSize(300, 200);
        setLocationRelativeTo(null);

        JPanel panel = new JPanel();
        getContentPane().add(panel);

        textField = new JTextField(20);
        panel.add(textField);

        button = new JButton("保存数据");
        panel.add(button);

        setVisible(true);
    }
}

示例二

下面是一个更加完整的例子,展示了如何在Swing中创建一个带有表格的GUI界面。这个例子演示了如何将学生信息(姓名、年龄、性别)添加到表格中。

import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class StudentInfoGUI extends JFrame {
    private JTable table;
    private JButton addButton;

    public StudentInfoGUI() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("学生信息录入");
        setSize(400, 300);
        setLocationRelativeTo(null);

        JPanel panel = new JPanel();
        getContentPane().add(panel);

        String[] columnNames = {"姓名", "年龄", "性别"};
        Object[][] data = {};

        DefaultTableModel model = new DefaultTableModel(data, columnNames);
        table = new JTable(model);

        JScrollPane scrollPane = new JScrollPane(table);
        panel.add(scrollPane);

        addButton = new JButton("添加学生");
        addButton.addActionListener(event -> addStudent());
        panel.add(addButton);

        setVisible(true);
    }

    private void addStudent() {
        String name = JOptionPane.showInputDialog("请输入姓名:");
        int age = Integer.parseInt(JOptionPane.showInputDialog("请输入年龄:"));
        String gender = JOptionPane.showInputDialog("请输入性别:");

        DefaultTableModel model = (DefaultTableModel) table.getModel();
        model.addRow(new Object[]{name, age, gender});
    }
}

步骤二:使用MySQL数据库存储数据

Java中常用的数据库有MySQL、Oracle、SQL Server等。这里我们以MySQL为例。

示例一

以下代码展示了如何使用Java连接MySQL数据库并执行一条简单的查询:

import java.sql.*;

public class MySQLDemo {
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "root");
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM students");
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");
                String gender = rs.getString("gender");
                System.out.println(id + ", " + name + ", " + age + ", " + gender);
            }
            conn.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

示例二

下面是一个更加完整的例子,展示了如何将学生信息存储到MySQL数据库中。这个例子使用了JDBC连接数据库。

import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

public class StudentInfoGUI extends JFrame {
    private JTable table;
    private JButton addButton;

    public StudentInfoGUI() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("学生信息录入");
        setSize(400, 300);
        setLocationRelativeTo(null);

        JPanel panel = new JPanel();
        getContentPane().add(panel);

        String[] columnNames = {"姓名", "年龄", "性别"};
        Object[][] data = {};

        DefaultTableModel model = new DefaultTableModel(data, columnNames);
        table = new JTable(model);

        JScrollPane scrollPane = new JScrollPane(table);
        panel.add(scrollPane);

        addButton = new JButton("添加学生");
        addButton.addActionListener(event -> addStudent());
        panel.add(addButton);

        setVisible(true);
    }

    private void addStudent() {
        String name = JOptionPane.showInputDialog("请输入姓名:");
        int age = Integer.parseInt(JOptionPane.showInputDialog("请输入年龄:"));
        String gender = JOptionPane.showInputDialog("请输入性别:");

        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "root");
            PreparedStatement stmt = conn.prepareStatement("INSERT INTO students (name, age, gender) VALUES (?, ?, ?)");
            stmt.setString(1, name);
            stmt.setInt(2, age);
            stmt.setString(3, gender);
            stmt.executeUpdate();

            DefaultTableModel model = (DefaultTableModel) table.getModel();
            model.addRow(new Object[]{name, age, gender});

            conn.close();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(this, e.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
        }
    }
}

这个例子使用了JDBC(Java Database Connectivity)连接数据库,可以在程序中执行SQL语句。在addStudent方法中,我们使用了PreparedStatement对象来避免SQL注入攻击。同时,如果出现异常,我们会弹出一个错误对话框来提示用户。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现学生信息录入界面 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • Extjs中通过Tree加载右侧TabPanel具体实现

    实现“Extjs中通过Tree加载右侧TabPanel”需要以下步骤: 创建一个Ext.tree.Panel,用于显示树形结构,其中需要配置store,root等属性。 示例代码: Ext.create(‘Ext.tree.Panel’, { store: yourTreeStore, root: { text: ‘Root’, expanded: true…

    Java 2023年6月15日
    00
  • 教你一步到位部署运行MyBatis3源码(保姆级)

    教你一步到位部署运行MyBatis3源码(保姆级) 前言 MyBatis 是一个开源的免费的 Java 持久层框架,它利用简单的 XML 或注解代码来配置和映射数据库操作。 在实际的开发中,我们经常会直接使用 MyBatis 这个框架来进行数据库的操作,但有时候会需要修改或者扩展 MyBatis3 的源码来满足自己的需求,那么这时候就需要我们先将 MyBat…

    Java 2023年5月20日
    00
  • Spring学习JdbcTemplate数据库事务参数

    下面就是关于“Spring学习JdbcTemplate数据库事务参数”的完整攻略: 1. JdbcTemplate概述 JdbcTemplate是Spring框架中一个非常重要的核心组件,它为开发者提供了非常方便的方式进行数据访问操作。它提供了完善的JDBC功能支持,并简化了JDBC代码的编写。JdbcTemplate底层实现了对JDBC进行封装和简化,更加…

    Java 2023年5月20日
    00
  • Java开发者就业需要掌握的9大专业技能

    关于Java开发者就业需要掌握的9大专业技能,我们可以从以下几点展开讲解: 1. Java基础知识 Java基础知识是Java开发者必须掌握的基础技能之一。包括基本的语法、面向对象的特性、集合框架、异常处理、多线程等。只有深入理解Java语言的基本机制,才能为后续的高级知识打下牢固的基础。 示例:如何实现一个简单的Java程序?请编写一个Hello Worl…

    Java 2023年5月20日
    00
  • js判断非127开头的IP地址的实例代码

    好的。首先,我们需要了解IP地址的基本知识。 IP地址是标识互联网上一个唯一的设备(如电脑)的地址,由32个二进制数位表示,通常用“点分十进制”(即将32位二进制地址分成4个8位数,转换成10进制数并用点号连接)的方式表示。例如,127.0.0.1就是一个IP地址。 在JavaScript中,判断一个IP地址是否以127开头,可以通过以下代码实现: func…

    Java 2023年6月15日
    00
  • Java Apache POI报错“IOException”的原因与解决办法

    “IOException”是Java的Apache POI类库中的一个异常,通常由以下原因之一引起: 文件错误:如果文件无法读取或写入,则可能会出现此异常。例如,可能会尝试读取不存在的文件或尝试写入只读文件。 以下是两个实例: 例1 如果文件无法读取或写入,则可以尝试使用正确的文件路径以解决此问题。例如,在Java中,可以使用以下代码: FileInputS…

    Java 2023年5月5日
    00
  • Spring Security Oauth2.0 实现短信验证码登录示例

    下面就为您详细讲解“Spring Security Oauth2.0 实现短信验证码登录示例”的完整攻略。 准备工作 搭建Spring Boot环境 添加Spring Security依赖 添加Spring Security Oauth2依赖 添加MySQL数据库及驱动依赖 创建用户表、客户端表、验证码表 示例1:实现短信验证码登录 自定义继承于Abstra…

    Java 2023年5月20日
    00
  • Java之JSP教程九大内置对象详解(上篇)

    下面我来详细讲解“Java之JSP教程九大内置对象详解(上篇)”的完整攻略。 什么是九大内置对象? JSP的九大内置对象是指在JSP页面中JSP引擎默认提供的九个对象,包括request、response、session、application、page、out、config、pageContext、exception对象。 request对象 reques…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部