• 10月13日学习日志


    今天用java swing编写了小学生出题的判断界面。

    代码为:

    package math15;
    import  java.awt.BorderLayout;
    import  java.awt.Color;
    import  java.awt.Font;
    import java.awt.GridLayout;
    import  java.awt.event.ActionEvent;
    import  java.awt.event.ActionListener;
    import  javax.swing.JButton;
    import  javax.swing.JFrame;
    import  javax.swing.JLabel;
    import  javax.swing.JMenu;
    import  javax.swing.JMenuBar;
    import  javax.swing.JMenuItem;
    import  javax.swing.JOptionPane;
    import  javax.swing.JPanel;
    import  javax.swing.JTextField;
    public  class math15 extends  JFrame  implements  ActionListener{
      int  n=0,m=0;
      JLabel jlresult=new JLabel("");
      JLabel jlquestion[]= new  JLabel[10];
      JLabel jlAnswer[]= new  JLabel[10];
      JLabel jlTotal= new  JLabel( "共10题" );
      JLabel jlcorrect[]= new  JLabel[10];
      JTextField jtf[]= new  JTextField[10];
      JButton jb1= new  JButton( "评卷" );
      JPanel jp1= new  JPanel();
      JPanel jp2= new  JPanel(new GridLayout(5,2));
      String[] question= new  String[10];
      String [] answer= new  String [10];
    
      math15(){
       super ( "算数运算测试" );
       for(int i=0;i<10;i++) {
             jtf[i]=new JTextField(3);
             jlquestion[i]=new JLabel("");
             jlAnswer[i]=new JLabel("");
             jlcorrect[i]= new  JLabel();
         }
       jlTotal.setFont( new  Font( null ,Font.PLAIN, 20 ));
       for(int i=0;i<10;i++) {
           jtf[i].setFont( new  Font( null ,Font.PLAIN, 20 ));
           jlAnswer[i].setFont( new  Font( null ,Font.PLAIN, 20 ));
           jlquestion[i].setFont( new  Font( null ,Font.PLAIN, 20 ));
           jlcorrect[i].setFont( new  Font( null ,Font.PLAIN, 20 ));
           jlcorrect[i].setForeground(Color.RED);
       }
       Question();
       jb1.addActionListener( this );
       jp1.add(jlTotal);jp1.add(jb1);jp1.add(jlresult);
       for(int i=0;i<10;i++) {
           jp2.add(jlquestion[i]);jp2.add(jtf[i]);jp2.add(jlcorrect[i]);jp2.add(jlAnswer[i]);
       }
       add(jp1,BorderLayout.NORTH);
       add(jp2,BorderLayout.CENTER);
       setSize(1000,500);
       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       setLocationRelativeTo( null );
       setVisible( true );
      }
      public  void  actionPerformed(ActionEvent ae) {
          if(ae.getSource()==jb1) {
              for(int i=0;i<10;i++) {
                     jlquestion[i].setText(question[i]);
                     jlAnswer[i].setText( "答案:"+answer[i] );
                     if(jtf[i].getText().trim().equals(answer[i])) {
                         jlcorrect[i].setText("√"); 
                         n++;
                     }
                     else {
                         jlcorrect[i].setText("×"); 
                         m++;
                     }
                     jtf[i].setEnabled( true );
                 }
              jlresult.setText("正确"+n+"个,错误"+m+"个,共"+10*n+"分");
           }
      }
      public  static  void  main(String[] args) {
              new math15();
          }
      
      public  void Question() {
       int a,b,c;
       for(int i=0;i<10;i++){
        a=(int)(Math.random()*100+1);
        b=(int)(Math.random()*100+1);
        c=(int)(Math.random()*2)+1;
        if(c==1)answer[i]=String.valueOf(a+b);
        if(c==2)answer[i]=String.valueOf(a-b);
        if(c==1)question[i]=String.valueOf(a)+"+"+String.valueOf(b)+"=";
        if(c==2)question[i]=String.valueOf(a)+"-"+String.valueOf(b)+"=";
        }
       for(int i=0;i<10;i++) {
             jlquestion[i].setText(question[i]);
         }
       }
    }

    运行结果为:

  • 相关阅读:
    dblink && 视图 数据库二合一
    oracle mybatis 逆向工程 应当注意的问题
    关于使用vue搭建前后端分离的项目,部署过程遇到的问题
    详解vue静态资源打包中的坑与解决方案
    bootstarap table 分页导出 vue版
    react中两个控件不是父子关系该怎么传递消息或任意控件怎么传递消息
    虚拟DOM中key的作用
    修改Antd的List列表的单个数据行
    移动端开发如何关闭手机键盘
    在一行显示两个数据,左边的数据右对齐,右边的数据左对齐
  • 原文地址:https://www.cnblogs.com/20193925zxt/p/14157489.html
Copyright © 2020-2023  润新知