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

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

发布网友 发布时间:2024-03-25 01:12

我来回答

2个回答

热心网友 时间:2024-07-26 10:02

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

热心网友 时间:2024-07-26 10:05

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 + '\'' +
                '}';
    }
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win7不能浏览网页,但用搜狗浏览器高速模式能上网,兼容就不行???求 ... ...64位 IE浏览器无法打开网页 搜狗浏览器可以打开 类似的新窗口网页都... 千牛工作台子账号怎么开权限?子账号的安全设置在哪里? 千牛怎么设置子账号-千牛设置子账号步骤 怎么把CD里的歌曲改成MP3格式? ...戴眼镜吗?想给孩子去检查一下,哪里比较推荐,渭南这块的 Windows Media Player将CD音乐转换为MP3 最简单的方法将CD转换为MP3音频文件(一步一步教你将CD音乐转换为MP3格 ... 孩子最近视力下降了有可能是近视吗?渭南哪里可以免费检查视力啊 奥运会跳远世界纪录 脚腕扭伤已有半个多月了,脚腕一直肿的,小腿麻木还胀痛是什么原因... ...走路后蹬的时候小腿的肌肉就酸疼,是怎么回事? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 杜桥镇西湖村快递放哪里取 HG70钢板有什么焊丝焊接最好?2 百老汇 纽约时代广场是同一个地方吗?2 纽约时代广场和时报广场是一个地方吗?47 How mang times bigger is a 9 s...6 翻译: A sparkling crystal ball a...2 在58置顶一个房子需要花多少钱 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 洗碗机的碗清洗方法 改错:树林里密集的树叶,把阳光给遮住了 ()的树叶遮住了阳光 工作状况应该怎么写 香港的一些地名56 further on is Times Square什么意思...1 timessquarestatueofliberty是什么意... It&#39;s New York Times Square什么意思... New York Times Square中文是什么意思5 乳腺癌患者不易吃什么食物 HG70号钢的抗拉强度是多少8 HJ58、HG60、HG70、HG785各数字及字母含义?与...4 证明全等三角形有角角边定理吗? 序列号C76SNCNAHG70 型号MNC22LL&#47;A 苹果...12 鞋油膏过期还有其它用途吗鞋油过期了还能用吗 车牌进入选号池还会留原来的电话号码吗 水生和宏儿二十年后是哪一年? 牛蹄子上供—就显你脚(角)大。。。猜一个生肖是什么啊?知道的告诉下... 鼠入牛角哪几个生肖 我有一处1900平米的房想开花店怎么装修? 花店装修秘诀:让有限的空间发挥无限的可能 Times Square是什么意思6 在庐山卖画的李咏秋是谁 关于传递信息的成语或歇后语 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... 给排水工程需要工程检测费吗 cyclone和tornado的区别? what&#39;s the diffrence of hurricane and tornado and cyclone 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后...