首页 > 其他分享 >2023-11-28

2023-11-28

时间:2023-11-28 20:02:36浏览次数:27  
标签:11 int list 28 add 2023 new JLabel exercise

package rjgz.suanTi;

import rjgz.BinaryOperation;
import rjgz.Exercise;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import static rjgz.suanTi.JDBC.add;
import static rjgz.suanTi.JDBC.selectByTiKu;


public class testFile {
    public static void main(String[] args) {

        // 创建一个顶层容器 JFrame
        JFrame frame = new JFrame("Swing Example");

        // 设置窗口的大小和位置
        frame.setBounds(100, 100, 900, 600);

        // 设置窗口关闭时的行为
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // 创建一个面板 JPanel,并设置 BoxLayout 布局管理器
        JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
        Exercise exercise=shenChen();
        int len=exercise.list.size()/5;
        // 添加文本框和输入框
        JTextField[][] textFields = new JTextField[exercise.list.size()][5];
        JLabel[][] labels=new JLabel[exercise.list.size()][5];
        for (int i = 0; i < len; i++) {
            JPanel rowPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
            for (int j = 0; j < 5; j++) {
                if (j != 4) {
                    BinaryOperation b = exercise.list.get(i * 5 + j);
                    String equation = b.getLeft_operand() + " " + b.getOperator() + " " + b.getRight_operand()
                            + " " + b.getOperator2() + " " + b.getThird_operand() + "=";
                    JLabel label = new JLabel(equation);
                    rowPanel.add(label);
                    labels[i][j]=label;

                    JTextField textField = new JTextField(10);
                    rowPanel.add(textField);
                    textFields[i][j] = textField;
                } else {
                    JLabel label = new JLabel("第" + (i + 1) + "行:");
                    rowPanel.add(label);
                }
            }
            panel.add(rowPanel);
        }
        JPanel rowPanel3 = new JPanel(new FlowLayout(FlowLayout.LEFT));
        JLabel jLabel=new JLabel("正确率为"+""+"%");
        rowPanel3.add(jLabel);
        JLabel TiKu=new JLabel("输入题库名");
        rowPanel3.add(TiKu);
        JTextField ShuRu=new JTextField();
        ShuRu.setColumns(10);
        rowPanel3.add(ShuRu);
        JButton extract= new JButton("刷题库");
        rowPanel3.add(extract);
        panel.add(rowPanel3);

        // 创建一个按钮 JButton,用于刷新数据
        JPanel rowPanel2 = new JPanel(new FlowLayout(FlowLayout.LEFT));
        JButton refreshButton = new JButton("刷新");
        rowPanel2.add(refreshButton);
        JButton submitButton= new JButton("提交");
        rowPanel2.add(submitButton);
        JButton deposit= new JButton("存入题库");
        rowPanel2.add(deposit);

        panel.add(rowPanel2);
        // 为按钮添加事件监听器
        refreshButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Exercise exercise=shenChen();
                // 修改文本框中的内容
                for (int i = 0; i < len; i++) {
                    for (int j = 0; j < 5; j++) {
                        if (j != 4) {
                            JTextField inputField = textFields[i][j];
                            inputField.setText("");

                            BinaryOperation b = exercise.list.get(i * 5 + j);
                            String equation = b.getLeft_operand() + " " + b.getOperator() + " " + b.getRight_operand()
                                    + " " + b.getOperator2() + " " + b.getThird_operand() + "=";
                            labels[i][j].setText(equation);
                        }
                    }
                }
            }
        });

        submitButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                for (int i = 0; i < len; i++) {
                    for (int j = 0; j < 5; j++) {
                        if (j != 4) {
                            JTextField inputField = textFields[i][j];
                            int UserInput= Integer.parseInt(inputField.getText());
                            exercise.list.get(i*5+j).setUserValue(UserInput);

                        }
                    }
                }
                jLabel.setText("正确率为: "+exercise.ReturnAccuracy()*100+"%");
            }
        });

        deposit.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                for (BinaryOperation b:
                     exercise.list) {
                    add(b);
                }
            }
        });
        extract.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                int UserTiKu= Integer.parseInt(ShuRu.getText());
                exercise.list=selectByTiKu(UserTiKu);
                // 修改文本框中的内容
                for (int i = 0; i < len; i++) {
                    for (int j = 0; j < 5; j++) {
                        if (j != 4) {
                            JTextField inputField = textFields[i][j];
                            inputField.setText("");

                            BinaryOperation b = exercise.list.get(i * 5 + j);
                            String equation = b.getLeft_operand() + " " + b.getOperator() + " " + b.getRight_operand()
                                    + " " + b.getOperator2() + " " + b.getThird_operand() + "=";
                            labels[i][j].setText(equation);
                        }
                    }
                }
            }
        });
        // 将面板添加到窗口中
        frame.getContentPane().add(panel);

        // 显示窗口
        frame.setVisible(true);
    }
    public static Exercise shenChen(){
        int fanWei=1;
        int fanWei2=5;
        Exercise exercise=new Exercise();
        for (int i = 0; i < 10; i++) {
            BinaryOperation b=new BinaryOperation(fanWei2,fanWei);
            while (!exercise.Check(b)&&b.getValue()<0&&b.getValue()>100){
                b=new BinaryOperation(fanWei2,fanWei);
            }
            exercise.list.add(b);
        }
        return exercise;
    }
}

 

标签:11,int,list,28,add,2023,new,JLabel,exercise
From: https://www.cnblogs.com/wllovelmbforever/p/17862853.html

相关文章

  • 11.28每日总结
    今天首先完成了大型数据库的第四次实验,这一次实验是比较系统的对比了mysql,hbase,redis和mongoDB这几个数据库,其中包括关系型也包括非关系型。然后进一步完善了人机交互的实验和,大作业,并将其打包成册。最后作为企业文化课的组长,给我的组员安排了我们大作的分工。......
  • 11月28每日打卡
    实验4NoSQL和关系数据库的操作比较 1.实验目的(1)理解四种数据库(MySQL、HBase、Redis和MongoDB)的概念以及不同点;(2)熟练使用四种数据库操作常用的Shell命令;(3)熟悉四种数据库操作常用的JavaAPI。2.实验平台(1)操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04);(2)Hadoop版本:3.1.3;(3)My......
  • 20231126模拟赛
    2023.11.26模拟赛T1给定数列\(a_{1,\cdots,n},b_{1,\cdots,m}\),一个\(n\timesm\)的矩阵\(W\)满足\(W_{i,j}=a_i+b_j\)。给定常数\(x\),问满足\(W_{i,j}\lex\)的所有格子\((i,j)\)形成的四连通块数量。\(1\len,m,x,a_i,b_j\le2\times10......
  • 【Python爬虫】第11篇:Mongodb数据库进阶使用。从0到scrapy高手笔记(附代码,可自取)
    本文主要学习一下关于爬虫的相关前置知识和一些理论性的知识,通过本文我们能够知道什么是爬虫,都有那些分类,爬虫能干什么等,同时还会站在爬虫的角度复习一下http协议。全套笔记和代码自取地址:请移步这里感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~共8章,37子模块Mongodb数......
  • OpenHarmony亮相MTSC 2023 | 质量&效率共进,赋能应用生态发展
    11月25日,MTSC 2023第十二届中国互联网测试开发大会在深圳登喜路国际大酒店圆满举行。大会以“软件质量保障体系和测试研发技术交流”为主要目的,旨在为行业搭建一个深入探讨和交流的桥梁和平台。OpenAtom OpenHarmony(简称“OpenHarmony”)通过专场论坛议题分享和展区展品精彩展示,为......
  • 20231128
    怎么又有人来催我写鲜花了?阴魂不散了?这两天在做数据结构吗,真的很恶心,做着也很累所以就没写。今天是真的想摆,最后还剩三道题做不下去了,写鲜花休息一会。放一段我今晚和@Super_Cube的对话:粉方方:『outlook邮箱有个好处是它可以离线。』我:「离线干嘛?离线下来后排序?」『6。......
  • re:Invent 2023 开发者指南来了!@开发者们,Let's 构!
    开发者们看过来!云计算领域的风向标、科技界的年度重磅盛会2023亚马逊云科技re:Invent将于11月27日在美国拉斯维加斯盛大启幕!学习、互动、交流、比拼……作为世界开发者的年度技术狂欢盛宴美国现场或国内互动将有哪些精彩环节?开发者们,Let's构!亚马逊云科技开发者......
  • 【2023-11-27】父母问题
    20:00人生到世界上来,如果不能使别人过得好一些,反而使他们过得更坏的话,那就太糟糕了。                                                 ——艾略特早上8点,把何太准时......
  • 11-28
    熟悉常用的HBase操作  1.实验目的(1)理解HBase在Hadoop体系结构中的角色;(2)熟练使用HBase操作常用的Shell命令;(3)熟悉HBase操作常用的JavaAPI。2.实验平台(1)操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04);(2)Hadoop版本:3.1.3;(3)HBase版本:2.2.2;(4)JDK版本:1.8;(5)JavaIDE:Eclipse。3.......
  • 2023-11-28 闲话 无人之境
    http://www.stat.ucla.edu/~sczhu/research_blog.html昨天只读了文章千古事,得失寸心知的一篇,非常非常大收获。感觉比以前水的东西有意义多了。以后考虑多上各种大学网站上搜教授主页,看paper或者article都是不错的选择是吧。......