📄 jisuan.java
字号:
import java.applet.Applet; //导入需要的类
import java.awt.Panel;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Checkbox;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Frame;
import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.CardLayout;
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.Font;
import java.net.InetAddress;
import java.net.Socket;
import java.io.DataOutputStream;
import java.io.DataInputStream;
import java.util.ArrayList;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import javax.swing.BorderFactory;
public class Jisuan extends Applet implements ActionListener //applet类
{
private Zhengzhisixiangsuzhi zhengzhisixiangsuzhi=new Zhengzhisixiangsuzhi();
private Yewuxueximokuai yewuxuexi=null;
private Zhinengsuzhi zhinengsuzhi=new Zhinengsuzhi();
private Tiyusuzhi tiyusuzhi=new Tiyusuzhi();
private Defenqingkuang defenqingkuang=new Defenqingkuang();
private Panel butp=new Panel();
private Panel neirongp=new Panel();
private Button butzhengzhi =new Button("政治思想素质");
private Button butyewu=new Button("业务学习得分");
private Button butzhineng=new Button("智能素质得分");
private Button buttiyu=new Button("体育素质得分");
private Button butscore=new Button("综合测评得分");
private Chengjishangchuan chengjishangchuanchuangkou=null;
private Mimaxiugai mimaxiugai=null;
private float zongchengji=0;
private CardLayout cardlayout=new CardLayout(); //采用卡片布局
private InetAddress ip;
public void init()
{
this.setLayout(new BorderLayout());
try
{
ip=InetAddress.getByName(getCodeBase().getHost());
this.yewuxuexi=new Yewuxueximokuai(ip);
}
catch(Exception exception)
{
System.out.println(exception);
}
this.butzhengzhi.addActionListener(this);
this.butyewu.addActionListener(this);
this.butzhineng.addActionListener(this);
this.buttiyu.addActionListener(this);
this.butscore.addActionListener(this);
this.defenqingkuang.butshangchuan.addActionListener(this);
this.defenqingkuang.butmimaxiugai.addActionListener(this);
butp.setLayout(new GridLayout(3,5,10,1));
butp.add(new Label("------------------------------------------------"));
butp.add(new Label("------------------------------------------------"));
butp.add(new Label("------------------------------------------------"));
butp.add(new Label("------------------------------------------------"));
butp.add(new Label("------------------------------------------------"));
butp.add(this.butzhengzhi);
butp.add(this.butyewu);
butp.add(this.butzhineng);
butp.add(this.buttiyu);
butp.add(this.butscore);
butp.add(new Label("------------------------------------------------"));
butp.add(new Label("------------------------------------------------"));
butp.add(new Label("------------------------------------------------"));
butp.add(new Label("------------------------------------------------"));
butp.add(new Label("------------------------------------------------"));
this.add(butp,"North");
neirongp.setLayout(this.cardlayout);
neirongp.add("zhengzhisixiang",this.zhengzhisixiangsuzhi);
neirongp.add("yewuxuexi",this.yewuxuexi);
neirongp.add("zhinengsuzhi",this.zhinengsuzhi);
neirongp.add("tiyusuzhi",this.tiyusuzhi);
neirongp.add("defenqingkuang",this.defenqingkuang);
this.add(this.neirongp);
this.showStatus("你当前所在的页面是政治思想素质的计算!");
}
public void actionPerformed(ActionEvent e) //实现ActionListener接口
{
if(((Button)e.getSource()).equals(this.butzhengzhi))//点击政治思想素质按钮
{
cardlayout.show(this.neirongp,"zhengzhisixiang");
this.showStatus("你当前所在的页面是政治思想素质的计算!");
}
if(((Button)e.getSource()).equals(this.butyewu)) //点击业务学习得分按钮
{
cardlayout.show(this.neirongp,"yewuxuexi");
this.showStatus("你当前所在的页面是业务学习成绩的计算!");
}
if(((Button)e.getSource()).equals(this.butzhineng)) //点击智能素质按钮
{
cardlayout.show(this.neirongp,"zhinengsuzhi");
this.showStatus("你当前所在页面是智能素质得分的计算!");
}
if(((Button)e.getSource()).equals(this.buttiyu)) //点击体育素质得分按钮
{
cardlayout.show(this.neirongp,"tiyusuzhi");
this.showStatus("你当前所在的页面是体育素质得分的计算!");
}
if(((Button)e.getSource()).equals(this.butscore)) //点击综合测评得分按钮
{
cardlayout.show(this.neirongp,"defenqingkuang");
//将综合测评得分情况在文本框中显示出来
this.defenqingkuang.xianshi.setText("");
this.defenqingkuang.xianshi.append("\n" + "政治思想素质实际得分:" + this.zhengzhisixiangsuzhi.getshijidefen()+ "\n");
this.defenqingkuang.xianshi.append("\n" + "政治思想素质总分:" + this.zhengzhisixiangsuzhi.getzongdefen()+"\n");
this.defenqingkuang.xianshi.append("\n" + "业务学习实际得分:" + this.yewuxuexi.getshijidefen()+"\n");
this.defenqingkuang.xianshi.append("\n" + "业务学习总得分:" + this.yewuxuexi.getzongdefen()+"\n");
this.defenqingkuang.xianshi.append("\n" + "智能素质实际得分:" + this.zhinengsuzhi.getshijidefen()+"\n");
this.defenqingkuang.xianshi.append("\n" + "智能素质总得分:" + this.zhinengsuzhi.getzongdefen()+"\n");
this.defenqingkuang.xianshi.append("\n" + "体育素质实际得分:" + this.tiyusuzhi.getshijidefen()+"\n");
this.defenqingkuang.xianshi.append("\n" + "体育素质总得分:" + this.tiyusuzhi.getzongdefen()+"\n");
this.zongchengji=this.zhengzhisixiangsuzhi.getzongdefen()+this.yewuxuexi.getzongdefen()+this.zhinengsuzhi.getzongdefen()+this.tiyusuzhi.getzongdefen();
this.zongchengji=this.zongchengji+(float)0.005;
this.zongchengji=(float)(int)(this.zongchengji*100);
this.zongchengji=this.zongchengji/100;
this.defenqingkuang.xianshi.append("\n"+"你的综合测评总得分为:"+ this.zongchengji);
this.defenqingkuang.xianshi.append("\n\n你的得分情况说明如下:\n\n" );
this.defenqingkuang.xianshi.append(this.zhengzhisixiangsuzhi.getbeizhu()+this.zhinengsuzhi.getbeizhu()+this.tiyusuzhi.getbeizhu());
}
if(((Button)e.getSource()).equals(this.defenqingkuang.butshangchuan)) //点击成绩上传按钮
{
String sqlinsert=this.zhengzhisixiangsuzhi.getzongdefen()+","+this.yewuxuexi.getzongdefen()+","
+this.zhinengsuzhi.getzongdefen()+","+this.tiyusuzhi.getzongdefen()+ "," +this.zongchengji+ ",'"
+this.zhengzhisixiangsuzhi.getbeizhu()+
this.zhinengsuzhi.getbeizhu()+this.tiyusuzhi.getbeizhu()+ "'";
if(this.chengjishangchuanchuangkou==null)
{
this.chengjishangchuanchuangkou=new Chengjishangchuan(this.ip);
this.chengjishangchuanchuangkou.setLocation(this.getWidth()/2,this.getHeight()/2);
this.chengjishangchuanchuangkou.setVisible(true);
}
else
{
this.chengjishangchuanchuangkou.setVisible(true);
}
this.chengjishangchuanchuangkou.setzongheceping(sqlinsert);
this.chengjishangchuanchuangkou.setyewuxuexi(this.yewuxuexi.getbeizhu());
}
if(((Button)e.getSource()).equals(this.defenqingkuang.butmimaxiugai)) //点击密码修改按钮
{
if(this.mimaxiugai==null)
{
this.mimaxiugai=new Mimaxiugai(this.ip);
this.mimaxiugai.setLocation(this.getWidth()/2,this.getHeight()/2);
this.mimaxiugai.setVisible(true);
}
else
{
this.mimaxiugai.setVisible(true);
}
}
}
}
class Yewuxueximokuai extends Zuhemianban //业务学习大模块
{
private Yewuxuexi yewuxuexi=null;
private Qita qita=new Qita();
public Yewuxueximokuai(InetAddress ip)
{
super("业务学习得分情况计算");
this.yewuxuexi=new Yewuxuexi(ip);
this.add(this.yewuxuexi);
this.add(this.qita);
}
public float getshijidefen() //获取实际得分
{
float shijidefen=this.yewuxuexi.getscore()/this.yewuxuexi.getxuefen()+this.qita.getscore();
shijidefen=shijidefen+(float)0.005;
shijidefen=(float)(int)(shijidefen*100);
shijidefen=shijidefen/100;
return shijidefen;
}
public float getzongdefen() //获取总得分
{
float zongdefen=(float)(this.getshijidefen()*0.6);
zongdefen=zongdefen+(float)0.005;
zongdefen=(float)(int)(zongdefen*100);
zongdefen=zongdefen/100;
return zongdefen;
}
public String getbeizhu()
{
return this.yewuxuexi.getbeizhu()+ ":" + this.qita.getbeizhu();
}
}
class Yewuxuexi extends JPanel //所有科目的业务学习情况
{
private Socket socket=null;
private DataInputStream datain=null;
private DataOutputStream dataout=null;
private ArrayList arraylist=new ArrayList();
private String[] xinxis;
public Yewuxuexi (InetAddress ip)
{
this.setBorder(BorderFactory.createTitledBorder(""));
this.setBackground(Color.white);
try
{
this.socket=new Socket(ip,3636) ;
this.datain=new DataInputStream(socket.getInputStream());
this.dataout=new DataOutputStream(socket.getOutputStream());
String chushihuaxinxi="初始化:select * from 课程信息表";
this.dataout.writeUTF(chushihuaxinxi);
xinxis=datain.readUTF().split(":");
this.dataout.close();
this.datain.close();
this.datain=null;
this.dataout=null;
this.socket.close();
this.socket=null;
}
catch(Exception e)
{
JOptionPane.showMessageDialog(this,"网络或其他原因,业务学习计算初始化失败!");
}
if(xinxis[0].trim().equals("初始化"))
{
this.setLayout(new GridLayout(xinxis.length-1,1));
for(int i=1;i<xinxis.length;i++)
{
String[] kechengxinxi=xinxis[i].split(",");
Xuexichengji xuexichengji=new Xuexichengji(kechengxinxi[0],
Float.parseFloat(kechengxinxi[1].trim()),kechengxinxi[2]);
this.add(xuexichengji);
this.arraylist.add(xuexichengji);
}
}
else
{
JOptionPane.showMessageDialog(this,xinxis[0]);
}
}
public float getscore() //获取各门课程的学分成绩总和
{
float sum=0;
for(int i=0;i<this.arraylist.size();i++)
{
sum=sum+((Xuexichengji)(arraylist.get(i))).getscore();
}
return sum;
}
public float getxuefen() //获取所有科目的学分总和
{
float sum=0;
for(int i=0;i<this.arraylist.size();i++)
{
sum=sum+((Xuexichengji)(arraylist.get(i))).getxuefen();
}
return sum;
}
public String getbeizhu()
{
String beizhu="";
String names="";
String scores="";
for(int i=0;i<this.arraylist.size();i++)
{
if(((Xuexichengji)(arraylist.get(i))).geibeizhu().trim().length()!=0)
{
String[] temp=((Xuexichengji)(arraylist.get(i))).geibeizhu().split(",");
names+=","+temp[0];
scores+=",'"+temp[1] +"'";
}
}
beizhu=names+ ":" +scores;
return beizhu;
}
}
class Xuexichengji extends JPanel //每一科的学习成绩情况
{
private Label lkechengming=new Label();
private Inputfloat fenshu=new Inputfloat();
private Choice dengji=new Choice();
private float xuefen=0;
private String leixing;
private String strkechengming;
public Xuexichengji(String strkechengming,float f ,String leixing)
{
this.strkechengming=strkechengming;
this.setBorder(BorderFactory.createTitledBorder(""));
this.setBackground(Color.white);
this.xuefen=f;
this.leixing=leixing;
this.lkechengming.setText(strkechengming+ "("+ f + "学分) 得分:");
this.add(this.lkechengming);
this.dengji.add("不及格 ");
this.dengji.add("及格");
this.dengji.add("中");
this.dengji.add("良");
this.dengji.add("优");
if(leixing.trim().equals("分数"))
{
this.add(this.fenshu);
}
else
{
this.add(this.dengji);
}
}
public float getscore() //取得这一科的学分成绩
{
if(leixing.trim().equals("分数"))
{
return this.fenshu.getfloat()*this.xuefen;
}
else
{
if(dengji.getSelectedIndex()==0)
{
return 0;
}
else
{
return (float)((this.dengji.getSelectedIndex()*10+50)*this.xuefen);
}
}
}
public float getxuefen() //获取这一科目的学分
{
if(this.getscore()==0)
return 0;
else
return xuefen ;
}
public String geibeizhu()
{
String beizhu="";
if(this.getscore()!=0)
{
beizhu=this.strkechengming +",";
if(this.leixing.equals("分数"))
{
beizhu+=this.fenshu.getfloat();
}
else
{
switch(this.dengji.getSelectedIndex())
{
case 1: beizhu+="及格";
break;
case 2: beizhu+="中";
break;
case 3: beizhu+="良";
break;
case 4: beizhu+="优";
break;
}
}
}
return beizhu;
}
}
class Zuhemianban extends JPanel //面板类的扩展
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -