📄 fat.java
字号:
if(BMI<=18.5){//BMI<18.5
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"低于标准"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);//以p,n创建一个table
scrollPane=new JScrollPane(table);//增加滑动条
cp.add(scrollPane);//加到容器中
scrollPane.setBounds(0,400,300,38);//设置位置
}
if(BMI>18.5&&BMI<=22.9){//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"正常标准"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
if(BMI>22.9&&BMI<=24.9) {//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"超重"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
if(BMI>24.9&&BMI<=29.9){//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"一度肥胖"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
if(BMI>29.9){//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"二度肥胖"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
}
else{
if(BMI<=19.5) {//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"低于标准"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
if(BMI>19.5&&BMI<=23.9){//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"正常标准"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
if(BMI>23.9&&BMI<=25.9){//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"超重"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
if(BMI>25.9&&BMI<=30.9){//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"一度肥胖"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
if(BMI>30.9){//同上
Object[][] p={
{YName.getText().trim(),sex,String.valueOf(Weight.getText().trim()),
String.valueOf(Height.getText().trim()),String.valueOf(BMI).substring(0,5),"二度肥胖"}
};
String[] n={"姓名","性别","体重","身高","BMI","评价"};
table=new JTable(p,n);
scrollPane=new JScrollPane(table);
cp.add(scrollPane);
scrollPane.setBounds(0,400,300,38);
}
}
}catch(Exception eee){//捕捉异常
JOptionPane.showMessageDialog(cp,"请检查你是否正确输入数据(特别是有没有选择性别)",
"INFORMATION MESSAGE",JOptionPane.INFORMATION_MESSAGE);//输出一个对话框
eee.printStackTrace();
return;
}
}
if(e.getActionCommand()=="simulate"){//模拟肥胖度
sX1=370;
sX2=750;
//调整刻度的长度
if (sliderW.getValue()>=90)
{
sY1=660-sliderW.getValue()*5;
}
if (sliderW.getValue()>=80&&sliderW.getValue()<90)
{
sY1=660-sliderW.getValue()*5;
}
if (sliderW.getValue()>=70&&sliderW.getValue()<80)
{
sY1=658-sliderW.getValue()*5;
}
if (sliderW.getValue()>=60&&sliderW.getValue()<70)
{
sY1=656-sliderW.getValue()*5;
}
if (sliderW.getValue()>=40&&sliderW.getValue()<60)
{
sY1=655-sliderW.getValue()*5;
}
if (sliderW.getValue()>=30&&sliderW.getValue()<40)
{
sY1=653-sliderW.getValue()*5;
}
if (sliderW.getValue()>=20&&sliderW.getValue()<30)
{
sY1=653-sliderW.getValue()*5;
}
if (sliderW.getValue()>=10&&sliderW.getValue()<20)
{
sY1=650-sliderW.getValue()*5;
}
if (sliderW.getValue()>=0&&sliderW.getValue()<10)
{
sY1=650-sliderW.getValue()*5;
}
if (sliderH.getValue()>=90)
{
sY2=660-sliderH.getValue()*5;
}
if (sliderH.getValue()>=80&&sliderH.getValue()<90)
{
sY2=660-sliderH.getValue()*5;
}
if (sliderH.getValue()>=70&&sliderH.getValue()<80)
{
sY2=658-sliderH.getValue()*5;
}
if (sliderH.getValue()>=60&&sliderH.getValue()<70)
{
sY2=656-sliderH.getValue()*5;
}
if (sliderH.getValue()>=40&&sliderH.getValue()<60)
{
sY2=655-sliderH.getValue()*5;
}
if (sliderH.getValue()>=30&&sliderH.getValue()<40)
{
sY2=653-sliderH.getValue()*5;
}
if (sliderH.getValue()>=20&&sliderH.getValue()<30)
{
sY2=653-sliderH.getValue()*5;
}
if (sliderH.getValue()>=10&&sliderH.getValue()<20)
{
sY2=650-sliderH.getValue()*5;
}
if (sliderH.getValue()>=0&&sliderH.getValue()<10)
{
sY2=650-sliderH.getValue()*5;
}
draw();//调用draw()函数
}
if(e.getActionCommand()=="clear"){//清除
sX1=0;
sY1=0;
sX2=0;
sY2=0;
YName.setText("");//姓名设置为空
Weight.setText("");//体重设置为空
Height.setText("");//高度设置为空
FName.setText("");//要查找的名字设置为空
label4.repaint();//重画
scrollPane.setVisible(false);//设置为不可见
}
if(e.getActionCommand()=="save"){//向数据库增加记录
try{
comm=MainWindow.con.createStatement();
String sql="insert into fat values('"+YName.getText().trim()+"','"+
sex.trim()+"',"+Float.parseFloat(Weight.getText().trim())+","+
Float.parseFloat(Height.getText().trim())+")";//sql语句
//确认对话框
String option[]={"确定","取消"};
int answer;
answer=JOptionPane.showOptionDialog(cp," 你确定要插入数据库吗?",
"QUESTION MESSAGE",
JOptionPane.PLAIN_MESSAGE,JOptionPane.DEFAULT_OPTION,null,option,option[0]);
if(answer==0)//如果按下确定按钮,则执行sql语句
comm.executeUpdate(sql);//执行sql语句
}catch(Exception evt){//捕获异常
JOptionPane.showMessageDialog(cp,"插入数据库失败,请检查你的数据是否正确(特别是有没有选择性别)",
"INFORMATION MESSAGE",JOptionPane.INFORMATION_MESSAGE);//输出插入失败
evt.printStackTrace();
return;
}
}
if(e.getActionCommand()=="Find"){//查询数据库
try{
comm=MainWindow.con.createStatement();
if(FName.getText().trim().length()==0){//判断要查找的人的姓名是不是为空
JOptionPane.showMessageDialog(cp,"请先输入一个你要查找的人的姓名",
"WARNING MESSAGE",JOptionPane.WARNING_MESSAGE);//如果是,输出警告
return;//返回
}
String sql="select * from fat where name='"+
FName.getText().trim()+"'";//sql语句
rst=comm.executeQuery(sql);//执行sql语句
if(rst.next()){//判断有没有记录集
YName.setText(rst.getString(1).trim());//把第一个字段的值赋给YName
String s;
s=rst.getString(2).trim();//获取第二个字段的值
if(s.equals("Male")){//如果是男
sex="Male";
men.setSelected(true);//选中男
woman.setSelected(false);
}
else {
sex="Female";
men.setSelected(false);
woman.setSelected(true);//选中女
}
Weight.setText(rst.getString(3).trim());//把第三个字段的值赋给Weight
Height.setText(rst.getString(4).trim()); // 把第四个字段的值赋给Height
}
else{
YName.setText("");//设置姓名文本框为空
Weight.setText("");//设置体重文本框为空
Height.setText("");//设置高度文本框为空
FName.setText("");//设置要查找的人的姓名的文本框为空
JOptionPane.showMessageDialog(cp,"没有这个同学,请重新输入一个同学的名字",
"WARNING MESSAGE",JOptionPane.WARNING_MESSAGE);
}
}catch(Exception evv){
evv.printStackTrace();return;
}
}
if(e.getActionCommand()=="simulateAll"){//模拟数据库里所有人的肥胖度
for(int i=0;i<5;i++){
a[i]=0;//清0
}
try{
comm=MainWindow.con.createStatement();
String sql="select * from fat";//sql语句
rst=comm.executeQuery(sql);//执行sql语句
while(rst.next()){//如果记录集不为空
String ssex=rst.getString(2).trim();//获得性别的值
sex=ssex;
double weight=rst.getFloat(3);//获得体重
double height=rst.getFloat(4);//获得身高
BMI=(10000*weight)/(height*height);//计算BMI
if(ssex.equals("Male")){//如果性别等于Male
if(BMI<=18.5) a[0]++;//瘦的个数加1
if(BMI>18.5&&BMI<=22.9) a[1]++;//标准的个数加1
if(BMI>22.9&&BMI<=24.9) a[2]++;//超重的个数加1
if(BMI>24.9&&BMI<=29.9) a[3]++;//一度肥胖的个数加1
if(BMI>29.9) a[4]++;//二度肥胖的个数加1
}
else{
if(BMI<=19.5) a[0]++;//瘦的个数加1
if(BMI>19.5&&BMI<=23.9) a[1]++;//标准的个数加1
if(BMI>23.9&&BMI<=25.9) a[2]++;//超重的个数加1
if(BMI>25.9&&BMI<=30.9) a[3]++;//一度肥胖的个数加1
if(BMI>30.9) a[4]++;//二度肥胖的个数加1
}
}
draw win=new draw();//创建画饼图的实例对象
win.setVisible(true);//设置为可见
}catch(Exception ee){
ee.printStackTrace();
return;
}
}
if(e.getActionCommand()=="delete"){//删除一个人
try{
comm=MainWindow.con.createStatement();
if(deleteName.getText().trim().length()==0){//判断有没有输入要删除的人姓名
JOptionPane.showMessageDialog(cp," 请先输入要删除学生的姓名",
"WARNING MESSAGE",JOptionPane.WARNING_MESSAGE);//如果没有,输出警告
return;//结束
}
String sql="delete fat where name='"+deleteName.getText().trim()+"'";//sql选择语句
String option[]={"确定","取消"};
int answer;
//显示一个选择对话框
answer=JOptionPane.showOptionDialog(cp," 你确定要删除这个人吗?",
"QUESTION MESSAGE",
JOptionPane.PLAIN_MESSAGE,JOptionPane.DEFAULT_OPTION,null,option,option[0]);
if(answer==0){//如果对话框按下确定按钮,则执行sql语句
comm.executeUpdate(sql);//执行sql语句
deleteName.setText("");//文本框清空
}
}catch(Exception et){//捕获异常
JOptionPane.showMessageDialog(cp," 删除失败",
"WARNING MESSAGE",JOptionPane.WARNING_MESSAGE);
et.printStackTrace();
}
}
if(e.getActionCommand()=="deleteAll"){//删除数据库里的所有人
try{
comm=MainWindow.con.createStatement();
String sql="delete fat";//sql删除语句
String option[]={"确定","取消"};
int answer;
//显示一个选择对话框
answer=JOptionPane.showOptionDialog(cp," 你确定要删除全部吗",
"QUESTION MESSAGE",
JOptionPane.PLAIN_MESSAGE,JOptionPane.DEFAULT_OPTION,null,option,option[0]);
if(answer==0){//如果对话框按下确定按钮,则执行sql语句
comm.executeUpdate(sql);
}
}catch(Exception ef){
JOptionPane.showMessageDialog(cp," 删除失败",
"WARNING MESSAGE",JOptionPane.WARNING_MESSAGE);
ef.printStackTrace();}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -