📄 windowtest2.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
//命令行运行:appletviewer c.htm
class Window153 extends Frame implements ActionListener
{
Panel nPanel=new Panel(),sPanel=new Panel(),cPanel=new Panel();
TextField subject=new TextField(16);
TextField stu_number=new TextField(3);
TextField number[]=new TextField[50];
TextField name[]=new TextField[50];
TextField result[]=new TextField[50];
// Button Btn1,Btn2,Btn3,Btn4;
Button Btn1=new Button("初始化");
Button Btn2=new Button("统计");
Button Btn3=new Button("取消");
Statics other_window;
int people_number=0;
Window153()
{
super("学生成绩统计表");
other_window=new Statics();
setBounds(100,120,550,200);
setVisible(true);
/*
// setLayout(new GridLayout(1,1));
setSize(a,b);
setBackground(Color.white);
*/
sPanel.setVisible(false);
cPanel.setVisible(false);
Label 科目=new Label("科目");
Label 人数=new Label("人数<50");
Label 学号=new Label("学号");
Label 姓名=new Label("姓名");
Label 成绩=new Label("成绩");
nPanel.add(科目);nPanel.add(subject);
nPanel.add(人数);nPanel.add(stu_number);
nPanel.add(Btn1);
Btn1.addActionListener(this);
Btn2.addActionListener(this);
Btn3.addActionListener(this);
sPanel.add(new Label("每行必须输入成绩"));
sPanel.add(Btn2);sPanel.add(Btn3);
cPanel.setLayout(new GridLayout(51,3));
cPanel.add(学号);
cPanel.add(姓名);
cPanel.add(成绩);
for(int i=0;i<50;i++)
{
number[i]=new TextField(" "+(i+1));
name[i]=new TextField("姓名");
result[i]=new TextField("0");
cPanel.add(number[i]);
cPanel.add(name[i]);
cPanel.add(result[i]);
}
ScrollPane p=new ScrollPane();
p.add(cPanel);
add("North",nPanel);add("Center",p);add("South",sPanel);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
System.exit(0);
}
});
pack();//紧凑方式显示窗口
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==Btn1)
{
people_number=Integer.parseInt(stu_number.getText());
if(people_number<51)
{
cPanel.setVisible(true);sPanel.setVisible(true);
for(int i=0;i<people_number;i++)
{
number[i].setBackground(Color.pink);
name[i].setBackground(Color.cyan);
result[i].setBackground(Color.green);
number[i].setEnabled(true);
name[i].setEnabled(true);
result[i].setEnabled(true);
}
for(int i=people_number;i<50;i++)
{
number[i].setBackground(Color.white);
name[i].setBackground(Color.white);
result[i].setBackground(Color.white);
number[i].setEnabled(false);
name[i].setEnabled(false);
result[i].setEnabled(false);
}
}
else
{
stu_number.setText("人数越界");
}
}
else if(e.getSource()==Btn2)
{
other_window.setVisible(true); //使成绩统计窗口可见
int geshu_优=0, geshu_良=0,geshu_及格=0, geshu_不及格=0;
double a[]=new double[50], sum=0;
for(int i=0;i<people_number;i++)
{
a[i]=Double.valueOf(result[i].getText().trim()).doubleValue();
if(a[i]>=90) {geshu_优++; }
if(a[i]<90&&a[i]>=80) {geshu_良++;}
if(a[i]<80&&a[i]>=60) {geshu_及格++;}
if(a[i]<60) {geshu_不及格++;}
sum=sum+a[i];
}
sum=sum/people_number; //平均成绩
other_window.text[0].setText(" "+people_number);
other_window.text[1].setText(" "+geshu_优);
other_window.text[2].setText(" "+geshu_良);
other_window.text[3].setText(" "+geshu_及格);
other_window.text[4].setText(" "+geshu_不及格);
other_window.text[5].setText(" "+sum);
}
else if(e.getSource()==Btn3)
{
for(int i=0;i<=49;i++)
{
number[i].setText(" "+(i+1));
name[i].setText(null);
result[i].setText("0");
}
}
}
}
class Statics extends Frame
{
TextField text[]=new TextField[6];
Label 考试人数=new Label("考试人数"),
优秀=new Label("优秀"),
良好=new Label("良好"),
及格=new Label("及格"),
不及格=new Label("不及格"),
平均=new Label("平均");
Statics()
{
super("统计结果");
setLayout(new GridLayout(2,6));
add(考试人数);add(优秀);add(良好);add(及格);add(不及格);add(平均);
setVisible(false);
setBounds(140,140,200,100);
for(int i=0;i<6;i++)
{
text[i]=new TextField();
add(text[i]);
}
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
setVisible(false);
System.exit(0);
}
});
}
}
public class WindowTest2
{
public static void main(String args[])
{
Window153 win1;
win1=new Window153();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -