问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

利用swing设计一个班级学生信息管理系统,一道JAVA题 求代码,不要废话

发布网友 发布时间:2022-05-13 21:06

我来回答

2个回答

热心网友 时间:2023-10-28 13:04

public class RandomUtils {

    public static String randomId(){
        Random random = new Random();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < 6; i++) {
            sb.append(random.nextInt(10));
        }
        return sb.toString();
    }

    public static int randomIntId(){
        Random random = new Random();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < 6; i++) {
            sb.append(random.nextInt(10));
        }
        return Integer.parseInt(sb.toString());
    }

    public static String randomName(){
        String[] name1 = {"赵","钱","孙","李","周","吴","郑","王","张","刘"};
        String[] name2 = {"一","二","三","四","五","六","七","八","九","十"};
        Random random = new Random();
        StringBuilder sb = new StringBuilder();
        sb.append(name1[random.nextInt(10)]);
        sb.append(name2[random.nextInt(10)]);
        sb.append(name2[random.nextInt(10)]);
        return sb.toString();
    }

    public static String randomSex(){
        Random random = new Random();
        return random.nextInt(4)/2==0?"男":"女";
    }

    public static int randomAge(int min, int max){
        Random random = new Random();
        return random.nextInt(min) + max-min;
    }

    public static int randomScore(){
        Random random = new Random();
        return (int)(random.nextDouble()*100%100);
    }

    public static String randomAddress(){
        String[] address1 = {"商业","红叶","安康","河南","长海","黄河","桐柏","科学","瑞达","花园"};
        String[] address2 = {"东","南","西","北","中"};
        String[] address3 = {"街","路","大道","巷"};
        Random random = new Random();
        StringBuilder sb = new StringBuilder();
        sb.append(address1[random.nextInt(10)]);
        sb.append(address2[random.nextInt(5)]);
        sb.append(address3[random.nextInt(4)]);
        sb.append(random.nextInt(1000)+1);
        sb.append("号");
        return sb.toString();
    }

}

import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;
import java.util.*;
import java.util.List;

public class StudentManage extends JFrame{

    public final static String[] CH_NUM = {"一","二","三","四","五","六","七","八","九","十"};
    public final static String ROOT = "班级管理";
    public final static int GRADE_NUM = 3;
    public final static int CLASS_NUM = 3;

    private Map<String, List<Student>> classes;

    public StudentManage() {
        setTitle("学生管理系统");
        setSize(300, 300);
        setLayout(new BorderLayout());

        if(classes == null) classes = new HashMap<>();

        DefaultMutableTreeNode top = new DefaultMutableTreeNode(ROOT);
        DefaultMutableTreeNode[] gradeNodes = new DefaultMutableTreeNode[GRADE_NUM];

        for (int i = 0; i < GRADE_NUM; i++) {
            gradeNodes[i] = new DefaultMutableTreeNode(CH_NUM[i] + "年级");
            for (int j = 0; j < CLASS_NUM; j++) {
                gradeNodes[i].add(new DefaultMutableTreeNode(CH_NUM[j] + "班"));
            }
            top.add(gradeNodes[i]);
        }
        final JTree tree = new JTree(top);

        String title[] = {"ID","姓名","性别","年龄","地址"};
        final DefaultTableModel model = new DefaultTableModel(title, 0);
        JTable table=new JTable(model);

        tree.addTreeSelectionListener(new TreeSelectionListener() {
            @Override
            public void valueChanged(TreeSelectionEvent e) {
                DefaultMutableTreeNode node = (DefaultMutableTreeNode) tree .getLastSelectedPathComponent();
                if (node == null) return;
                Object object = node.getUserObject();
                if (node.isLeaf()) {
                    List<Student> stdList = classes.get(getFullPath(node));
                    Object[][] data = new Object[stdList.size()][5];
                    for (int i = 0; i < stdList.size(); i++) {
                        data[i][0] = stdList.get(i).getId();
                        data[i][1] = stdList.get(i).getName();
                        data[i][2] = stdList.get(i).getSex();
                        data[i][3] = stdList.get(i).getAge();
                        data[i][4] = stdList.get(i).getAddress();
                    }
                    while(model.getRowCount()>0){
                        model.removeRow(model.getRowCount()-1);
                    }
                    for (int i = 0; i < stdList.size(); i++) {
                        model.addRow(data[i]);
                    }
                    model.fireTableDataChanged();
                }
            }
        });

        add(tree, BorderLayout.WEST);
        add(new JScrollPane(table), BorderLayout.CENTER);

        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private String getFullPath(DefaultMutableTreeNode defaultMutableTreeNode){
        StringBuilder sb = new StringBuilder();
        Object[] objs = defaultMutableTreeNode.getUserObjectPath();
        for (int i = 0; i < objs.length; i++) {
            sb.append(objs[i]);
        }
        return sb.toString().replace(ROOT,"");
    }

    public void init(){
        for (int i = 0; i < GRADE_NUM; i++) {
            for (int j = 0; j < CLASS_NUM; j++) {
                int n = new Random().nextInt(30)+1;
                List<Student> stdList = new ArrayList<>(n);
                for (int k = 0; k < n; k++) {
                    stdList.add(new Student(RandomUtils.randomIntId(),RandomUtils.randomName(),RandomUtils.randomSex(),
                            RandomUtils.randomAge(6,12),RandomUtils.randomAddress()));
                }
                classes.put(CH_NUM[i] + "年级"+ CH_NUM[j] +"班", stdList);
            }
        }
    }

    public static void main(String[] args) {
        StudentManage studentManage = new StudentManage();
        studentManage.init();
    }

}

class Student {
    private int id;
    private String name;
    private String sex;
    private int age;
    private String address;

    public Student(int id, String name, String sex, int age, String address) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.address = address;
    }

    public Student() {

    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getSex() {
        return sex;
    }

    public int getAge() {
        return age;
    }

    public String getAddress() {
        return address;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                ", address='" + address + '\'' +
                '}';
    }
}

热心网友 时间:2023-10-28 13:05

这玩意哪有现成就有的,如需要帮忙开发,请私信。追问私信你了

追答已回复。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
css布局绝对定位和相对定位疑惑? 湖北对口单招有哪些大学 湖北单招最好考的学校有哪些 玻璃隔断吗 《八佰》中的南岸刀子,《药神》中的沉默黄毛 有哪些适合新手养的蛇品种推荐? 新手喂养什么宠物蛇比较好? 色叔叔茜色是什么色 仓鼠上窜下跳一直不停,是什么原因? 禽医静心谈鸭黄病毒的主要症状有哪些?鸭子得了黄病毒怎么治疗? java学生信息管理系统代码 21题 java 简单学生信息管理系统 控制台程序 网站开发应该注意哪些东西? 贵州一种茶是古树上采的,叶子很小.是叫什么茶 贵州茶什么叶最好?贵台红是什么茶? 电子产品包括哪些?空调包括吗 美国教授说我的录取通知书和全奖很快寄到,这里的全奖就是I-20表格吗? 公司经营范围:销售电子产品、计算机、软件及辅助设备、通讯设备。请问电子产品主要包括哪些?详细说明! 英语作文 你的好朋友获得了耶鲁大学Yale University 的奖学金.请你以王林的名义 小腿上有很多小红点点,尤其在脚踝处,什么原因,怎么根治呀? 电子产品是由什么组成? 山药沾到皮肤 被山药的刺扎到皮肤里去,皮肤上起了一层红色的小包,还十分痒,这该肿么办???? 最近几天总是感觉胸闷,胸口感觉堵了一股气到喉咙,感觉喘不上气,打嗝以后会舒服几分钟以后又会胸闷,晚 胸闷气短,然后会猛烈咳嗽不停到几乎喘不上气才行,有少量痰。喉咙有东西堵着的感觉 最准确得说决定人类ABO血型的是什么 喉咙堵不通气怎么回事 人的血型是由父母遗传决定的吗 有时候睡觉姿势不对喉咙发紧好像堵住一样,而且喘不上气,呼吸困难,怎么回事啊, 人的血型是什么型决定于什么 跪求java学生信息管理系统代码 足球中的5号今常打什么位置 尾号是5的车牌号码好吗 商品信息管理系统如何用java写搜索商品各类信息?能否写出详细的代码 5号篮球明星是谁他是打什么位置的 java学生信息管理系统代码v1.0 求解 能把解题思路弄出来最好 谢谢 为什么有声卡放歌的时候还是有回音? 3600个方的厂房要配多少个40公斤的干粉灭火器 冷笑的近义词是什么??? 冷笑的近义词 故意,冷笑,严肃近义词 冷笑、约定、淘气、暂时、奇丽的近义词各是什么 冷笑、试探、懊侮的近义词 拘束簇拥坚强真切推辞妒忌支援约定冷笑的近义词 阴沉和冷笑的近义词 形容类似冷笑的俩字词 熟习,冷笑,拭探的近义词。 苹果实体店分期可以分期吗 惊慌,嘲笑&#39;冷淡的近义词 苹果专卖店可以分期付款吗