📄 main.java
字号:
package login.UI;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Vector;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.Timer;
import javax.swing.table.DefaultTableModel;
import com.pogo.Grade;
import com.pogo.Ti;
import com.tool.createGrade;
import com.tool.createName;
import com.tool.createTi;
import com.tool.createTime;
import com.tool.paixu;
import com.tool.readExcel;
import com.tool.saveGrade;
import com.tool.writeExcel;
public class main extends JFrame implements ActionListener{
private JRadioButton ra,rb,rc,rd,r;
private ButtonGroup jb;
private JButton pre,next,submit;
private ArrayList list;
private Label la,la1,t;
private int i=0,ge=0;
private JPanel jp,jp1,jp2,jp3;
private String name;
private Timer timer;
private int time;
main(String name){
super("请答题");
this.setDefaultCloseOperation(3);
this.setResizable(false);
this.setLocation(300,250);
this.setSize(350,300);
this.name=name;
list=createTi.run();
if(list==null){
JOptionPane.showMessageDialog(null, "题库错误!");
System.exit(0);
}
else{
ra=new JRadioButton(((Ti)list.get(0)).getAnswerA());
rb=new JRadioButton(((Ti)list.get(0)).getAnswerB());
rc=new JRadioButton(((Ti)list.get(0)).getAnswerC());
rd=new JRadioButton(((Ti)list.get(0)).getAnswerD());
time=createTime.run();
ge=createTime.getG();
r=new JRadioButton();
jb= new ButtonGroup();
timer=new Timer(1000,this);
timer.start();
pre=new JButton("上一题");
next=new JButton("下一题");
submit=new JButton("交卷");
pre.addActionListener(this);
next.addActionListener(this);
submit.addActionListener(this);
jp= new JPanel();
jp.setLayout(null);
la=new Label(((Ti)list.get(0)).getTm());
la1=new Label(((Ti)list.get(0)).getTno()+"");
t=new Label((int)(time/60)+"分"+time%60+"秒");
t.setForeground(Color.red);
jb.add(r);
jb.add(ra);
jb.add(rb);
jb.add(rc);
jb.add(rd);
jp.add(la1);
la1.setBounds(15, 10, 15,30);
jp.add(la);
la.setBounds(30, 10, 290,30);
jp.add(ra);
ra.setBounds(20,60, 300,30);
jp.add(rb);
rb.setBounds(20,100,300,30);
jp.add(rc);
rc.setBounds(20,140,300,30);
jp.add(rd);
rd.setBounds(20,180,300,30);
jp.add(t);
t.setBounds(20,230,60,18);
jp.add(pre);
pre.setBounds(90, 230, 80, 25);
jp.add(next);
next.setBounds(170, 230, 80, 25);
jp.add(submit);
submit.setBounds(250,230,80,25);
this.getContentPane().add(jp);
this.setVisible(true);
}
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==pre){
if(i>0){
Ti temp=(Ti)(list.get(i));
if(ra.isSelected())
temp.setSelect(ra.getText());
if(rb.isSelected())
temp.setSelect(rb.getText());
if(rc.isSelected())
temp.setSelect(rc.getText());
if(rd.isSelected())
temp.setSelect(rd.getText());
this.r.setSelected(true);
temp=(Ti)(list.get(--i));
la1.setText(temp.getTno()+"");
la.setText(temp.getTm());
ra.setText(temp.getAnswerA());
rb.setText(temp.getAnswerB());
rc.setText(temp.getAnswerC());
rd.setText(temp.getAnswerD());
if(temp.getSelect()==ra.getText())
this.ra.setSelected(true);
if(temp.getSelect()==rb.getText())
this.rb.setSelected(true);
if(temp.getSelect()==rc.getText())
this.rc.setSelected(true);
if(temp.getSelect()==rd.getText())
this.rd.setSelected(true);
}
}
if(e.getSource()==next){
if(i<list.size()-1){
Ti temp=(Ti)(list.get(i));
if(ra.isSelected())
temp.setSelect(ra.getText());
if(rb.isSelected())
temp.setSelect(rb.getText());
if(rc.isSelected())
temp.setSelect(rc.getText());
if(rd.isSelected())
temp.setSelect(rd.getText());
this.r.setSelected(true);
temp=(Ti)(list.get(++i));
la1.setText(temp.getTno()+"");
la.setText(temp.getTm());
ra.setText(temp.getAnswerA());
rb.setText(temp.getAnswerB());
rc.setText(temp.getAnswerC());
rd.setText(temp.getAnswerD());
if(temp.getSelect()==ra.getText())
this.ra.setSelected(true);
if(temp.getSelect()==rb.getText())
this.rb.setSelected(true);
if(temp.getSelect()==rc.getText())
this.rc.setSelected(true);
if(temp.getSelect()==rd.getText())
this.rd.setSelected(true);
}
}
if(e.getSource()==submit)
{
jiaojuan();
}
if(e.getSource()==timer){
if(time==0)
jiaojuan();
time--;
t.setText((int)(time/60)+"分"+time%60+"秒");
}
}
void jiaojuan(){
Ti temp=(Ti)(list.get(i));
if(ra.isSelected())
temp.setSelect(ra.getText());
if(rb.isSelected())
temp.setSelect(rb.getText());
if(rc.isSelected())
temp.setSelect(rc.getText());
if(rd.isSelected())
temp.setSelect(rd.getText());
int g=0;
for(int j=0;j<list.size();j++)
{
g+=((Ti)list.get(j)).grade()*ge;
}
JOptionPane.showMessageDialog(null, name+"同学 您的得分:"+g);
ArrayList list1=new ArrayList();
list1=readExcel.run();
for(int j=0;j<list1.size();j++)
if(((Grade)list1.get(j)).getName().equals(name))
list1.remove(j);
Grade st=new Grade(name,g);
list1.add(st);
Comparator comp = new paixu();
Collections.sort(list1,comp);
new writeExcel(list1);
new showTable(list1,list1.indexOf(st));
timer.stop();
this.dispose();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -