📄 statisticdialog.java
字号:
package stu;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JDialog;
public class StatisticDialog extends JDialog{
/**
*
*/
private static final long serialVersionUID = 1L;
int fifty = 0;
int sixty = 0;
int seventy = 0;
int eighty = 0;
int ninety = 0;
float a1, a2, a3, a4, a5;
public StatisticDialog(String str) {
setModal(true);
setAlwaysOnTop(true);
try {
ResultSet rs=null;
rs=ServiceFactory.getService().executeQuery("select * from students");
while (rs.next()) {
String people = rs.getString(str).trim();
if (Float.parseFloat(people) < 60.0)
fifty = fifty + 1;
else if (Float.parseFloat(people) < 70.0)
sixty = sixty + 1;
else if (Float.parseFloat(people) < 80.0)
seventy = seventy + 1;
else if (Float.parseFloat(people) < 90.0)
eighty = eighty + 1;
else if (Float.parseFloat(people) <= 100.0)
ninety = ninety + 1;
}
} catch (SQLException e) {
System.out.println("SQLException:" + e.getMessage());
}
}
public void paint(Graphics g) {
int all = fifty + sixty + seventy + eighty + ninety;
a1 = fifty * 100 / all;
a2 = sixty * 100 / all;
a3 = seventy * 100 / all;
a4 = eighty * 100 / all;
a5 = ninety * 100 / all;
fifty = fifty * 360 / all;
sixty = sixty * 360 / all;
seventy = seventy * 360 / all;
eighty = eighty * 360 / all;
ninety = ninety * 360 / all;
int position = 360;
Graphics2D g2D = (Graphics2D) g;
g2D.setStroke(new BasicStroke(1.0f));
Insets insets = getInsets();
int L0 = (insets.left) / 2, T0 = (insets.top) / 2;
g.setColor(Color.white);
g.fillRect(L0, T0, 400, 300);
g.setColor(Color.BLACK);
g.drawString("优秀 (100-90):" + a5 + "%", 20, 40);
g.drawString("良好 ( 89-80):" + a4 + "%", 20, 60);
g.drawString("中等 ( 79-70):" + a3 + "%", 20, 80);
g.drawString("及格 ( 69-60):" + a2 + "%", 20, 100);
g.drawString("不及格( 59- 0):" + a1 + "%", 20, 120);
g.setColor(Color.yellow);
g.fillRect(150, 30, 60, 10);
g.fillArc(150, 130, 150, 150, position, -ninety);
position -= ninety;
g.setColor(Color.GREEN);
g.fillRect(150, 50, 60, 10);
g.fillArc(150, 130, 150, 150, position, -eighty);
position -= eighty;
g.setColor(Color.pink);
g.fillRect(150, 70, 60, 10);
g.fillArc(150, 130, 150, 150, position, -seventy);
position -= seventy;
g.setColor(Color.CYAN);
g.fillRect(150, 90, 60, 10);
g.fillArc(150, 130, 150, 150, position, -sixty);
position -= sixty;
g.setColor(Color.red);
g.fillRect(150, 110, 60, 10);
g.fillArc(150, 130, 150, 150, position, -fifty);
position -= fifty;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -