📄
字号:
15-例子1
import java.applet.*;import java.awt.*;
class Mywindow extends Frame
{ Mywindow(String s) //构造方法.
{ super(s); .
setLayout(new GridLayout(1,1));
setSize(60,70); setBackground(Color.blue);
setVisible(true); pack();
}
}
public class Example15_1 extends Applet
{ Mywindow window ; //声明一个窗口对象。
public void init()
{ window=new Mywindow("世界之窗");//创建窗口。
}
}
15-例子2
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
class Yourwindow extends Frame
{
Yourwindow(String s, int a,int b) //构造方法。
{ super(s); //名字是字符串s。
setLayout(new GridLayout(1,1));// 把布局设置为GridLayout布局。
setSize(a,b); //把窗口的初始大小设置为a*b像素。
setBackground(Color.white); //把窗口的底色设置为白色。
setVisible(false); //把窗口设置为不可见的。
pack();//用紧凑方式显示窗口。
}
}
public class Example15_2 extends Applet implements ActionListener
{ Yourwindow window1,window2 ; //声明两个窗口对象。
Button button1,button2,button3,button4;
public void init()
{ button1=new Button("开南窗"); button2=new Button("开北窗");
button3=new Button("关南窗"); button4=new Button("关北窗");
window1=new Yourwindow("阳光之窗",60,60);//创建窗口
window2=new Yourwindow("冰雪之窗",70,70);//创建窗口
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
add(button1);add(button2);add(button3);add(button4);
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==button1)
{ window1.setVisible(true);
}
else if(e.getSource()==button3)
{ window1.setVisible(false);
}
else if(e.getSource()==button2)
{ window2.setVisible(true);
}
else if(e.getSource()==button4)
{ window2.setVisible(false);
}
}
}
15-例子3
import java.awt.*;import java.awt.event.*;
public class Example15_3
{public static void main(String args[])
{Cwindow f=new Cwindow();
}
}
class Cwindow extends Frame implements ActionListener
{ Panel north_p=new Panel(),south_p=new Panel(),
center_p=new Panel();
TextField subject=new TextField(16);
TextField stu_number=new TextField(3);
TextField number[]=new TextField[50],
name[]=new TextField[50],
result[]=new TextField[50] ;
Button button=new Button("确认");
Button b1=new Button("确定"),b2=new Button("取消");
Statics other_window;
int people_number=0;
Cwindow()
{super("学生成绩统计表");
other_window=new Statics();
setBounds(100,120,550,200);
setVisible(true);
south_p.setVisible(false);
center_p.setVisible(false);
Label 科目=new Label("考试科目:"),人数=new Label("考试人数(不超过50):"),
学号=new Label("学号:"),
姓名=new Label("姓名:"), 成绩=new Label("成绩:");
north_p.add(科目);north_p.add(subject); //添加到小程序北面的面板和
north_p.add(人数);north_p.add(stu_number); //该面板中添加的组件。
north_p.add(button);
button.addActionListener(this);
south_p.add(new Label("每行都必须输入成绩")) ; //添加到小程序南面的面板。
south_p.add(b1);south_p.add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
center_p.setLayout(new GridLayout(51,3));//添加到小程序中心的面板和其中的组件。
center_p.add(学号); center_p.add(姓名); center_p.add(成绩);
for(int i=0;i<=49;i++)
{number[i]=new TextField(""+(i+1));name[i]=new TextField("姓名");
result[i]=new TextField("0");
center_p.add(number[i]);center_p.add(name[i]);
center_p.add(result[i]);
}
ScrollPane p=new ScrollPane(); //添加到小程序中心的滚动窗体
p.add(center_p); //和其中的center_p面板。
add("North",north_p);add("Center",p);add("South",south_p);
addWindowListener(new WindowAdapter() //适配器(见15.5节)。
{public void windowClosing(WindowEvent e)
{setVisible(false);System.exit(0); }
});
pack();//用紧凑方式显示窗口。
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==button) //输入考试人数后,使用于输入成绩的界面变得可见。
{people_number=Integer.parseInt(stu_number.getText());
if(people_number<=50) //检查输入的人数是否越界。
{center_p.setVisible(true);south_p.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].setEnabled(false);//根据考试人数,确定出处于非活动状态的组件。
name[i].setEnabled(false);
result[i].setEnabled(false);
number[i].setBackground(Color.white);
name[i].setBackground(Color.white);
result[i].setBackground(Color.white);
}
}
else {stu_number.setText("人数越界");}//提示人数越界。
}
else if(e.getSource()==b1)
{ 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()==b2)
{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<=5;i++)
{text[i]=new TextField();add(text[i]);
}
addWindowListener(new WindowAdapter() //适配器。
{public void windowClosing(WindowEvent e)
{setVisible(false); }
});
}
}
15-例子4
import java.applet.*;
import java.awt.*; import java.awt.event.*;
class Menuwindow extends Frame
{ MenuBar menubar; //声明1个菜单条对象。
Menu menu1,menu2; //声明2个菜单对象。
MenuItem item1,item2,item3,item4,item5,item6; //声明6个菜单项对象。
TextArea text;
Menuwindow(String s, int a,int b) //构造方法,当创建窗口时
{ super(s); //窗口名字是字符串s,super()必需在第一句。
menubar=new MenuBar(); //创建一个菜单条。
menu1=new Menu("文件"); //创建2个菜单。
menu2=new Menu("编辑");
item1=new MenuItem("新建");item2=new MenuItem("保存");//创建6个菜单项。
item3=new MenuItem("打印");item4=new MenuItem("复制");
item5=new MenuItem("全选");item6=new MenuItem("粘贴");
text=new TextArea();
setLayout(new GridLayout(1,1)); // 把窗口布局设置为GridLayout布局。
setSize(a,b); //把窗口的初始大小设置为a*b像素。
setBackground(Color.white); //把窗口的底色设置为白色。
setVisible(false); //把窗口设置为不可见的。
menu1.add(item1);menu1.add(item2);
menu1.add(item3);menu2.add(item4); //菜单增加菜单项。
menu2.add(item5);menu2.add(item6);
menubar.add(menu1);menubar.add(menu2); //菜单条增加菜单。
setMenuBar(menubar); //窗口增加菜单条。
add(text); pack();//用紧凑方式显示窗口。
}
}
public class Example15_4 extends Applet implements ActionListener
{ Menuwindow window ; //声明一个窗口对象。
Button button1,button2;
public void init()
{ button1=new Button("打开窗"); button2=new Button("关闭窗");
window=new Menuwindow("音乐之窗",60,60);//创建窗口。
button1.addActionListener(this); button2.addActionListener(this);
add(button1);add(button2);
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==button1)
{ window.setVisible(true);
}
else if(e.getSource()==button2)
{ window.setVisible(false);
}
}
}
15-例子5
import java.applet.*;import java.awt.*;import java.awt.event.*;
class Menuwindow extends Frame implements ActionListener
{ MenuBar menubar;
Menu menu1,menu2;
MenuItem item1,item2,item3,item4,item5,item6;
TextArea text;
Menuwindow(String s, int a,int b) //构造方法
{ super(s); //super()必需在第一句。
menubar=new MenuBar();
menu1=new Menu("文件");
menu2=new Menu("编辑");
item1=new MenuItem("新建");item2=new MenuItem("保存");
item3=new MenuItem("打印");item4=new MenuItem("复制");
item5=new MenuItem("全选");item6=new MenuItem("粘贴");
text=new TextArea();
setLayout(new GridLayout(1,1)); setSize(a,b);
setBackground(Color.white); setVisible(false);
menu1.add(item1);menu1.add(item2);
menu1.add(item3);menu2.add(item4);
menu2.add(item5);menu2.add(item6);
menubar.add(menu1);menubar.add(menu2);
setMenuBar(menubar);
add(text); pack();
item1.addActionListener(this); //把窗口作为菜单项的监视器。
item2.addActionListener(this); item3.addActionListener(this);
item4.addActionListener(this); item5.addActionListener(this);
item6.addActionListener(this);
}
public void actionPerformed(ActionEvent e)//实现接口中的方法。
{ if(e.getSource()==item1)
{ text.setText(item1.getLabel()); }
else if (e.getSource()==item2)
{ text.setText(item2.getLabel()); }
else if(e.getSource()==item3)
{ text.setText(item3.getLabel()); }
else if (e.getSource()==item4)
{ text.setText(item4.getLabel()); }
else if(e.getSource()==item5)
{ text.setText(item5.getLabel()); }
else if (e.getSource()==item6)
{ text.setText(item6.getLabel()); }
}
}
public class Example15_5 extends Applet implements ActionListener
{ Menuwindow window ;
Button button1,button2;
public void init()
{ button1=new Button("打开窗"); button2=new Button("关闭窗");
window=new Menuwindow("家园",60,60);
button1.addActionListener(this); button2.addActionListener(this);
add(button1);add(button2);
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==button1)
{ window.setVisible(true); }
else if(e.getSource()==button2)
{ window.setVisible(false); }
}
}
15-例子6
import java.awt.event.*;
class 圆 extends Panel implements ActionListener//负责计算圆面积的类。
{ TextField 半径=null,结果=null;Button b=null;
圆()
{半径=new TextField(10);结果=new TextField(10);
b=new Button("确定");
add(new Label("输入半径"));add(半径);
add(new Label("面积是:"));add(结果);
add(b);b.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{double r=Double.valueOf(半径.getText()).doubleValue();
double area=3.1415926*r*r;
结果.setText(""+area);
}
}
class 三角形 extends Panel implements ActionListener//负责计算三角形面积的类。
{ TextField 边_a=new TextField(6),
边_b=new TextField(6),
边_c=new TextField(6),
结果=new TextField(6);
Button b=new Button("确定");
三角形()
{add(new Label("输入三边的长度:"));
add(边_a);add(边_b);add(边_c);
add(new Label("面积是:"));add(结果);
add(b);b.addActionListener(this);
}
public void actionPerformed(ActionEvent e)//获取三边的长度。
{double a=Double.valueOf(边_a.getText()).doubleValue(),
b=Double.valueOf(边_b.getText()).doubleValue(),
c=Double.valueOf(边_c.getText()).doubleValue();
double p=(a+b+c)/2,
s=Math.sqrt(p*(p-a)*(p-b)*(p-c));//计算三角形的面积。
结果.setText(""+s);
}
}
class Win extends Frame implements ActionListener
{MenuBar bar=null;
Menu menu=null;
MenuItem item1, item2;
圆 circle ;三角形 trangle;
Win()
{bar=new MenuBar();
menu=new Menu("选择");
item1=new MenuItem("圆面积计算");
item2=new MenuItem("三角形面积计算");
menu.add(item1);menu.add(item2);
bar.add(menu);setMenuBar(bar);
circle=new 圆();trangle=new 三角形(); //创建一个圆和一个三角形。
item1.addActionListener(this);
item2.addActionListener(this);
setVisible(true);
setBounds(100,120,100,90);
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==item1)
{removeAll();
add(circle,"Center");this.pack();//添加圆面积计算的界面。
}
else if(e.getSource()==item2)
{removeAll();
add(trangle,"Center");this.pack();//添加三角形面积计算的界面。
}
}
}
public class Example15_6
{ public static void main(String args[])
{ Win win=new Win();
win.setBounds(100,100,200,100);
win.setVisible(true); win.pack();
win.addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0); }
});
}
}
15-例子7
import java.applet.*;import java.awt.*;
class Thewindow extends Frame
{ MenuBar menubar;
Menu menu1,menu2;
MenuItem item1,item2,item3,item4,item5;
Thewindow(String s)
{super(s);
setSize(60,70);
setBackground(Color.white);
setVisible(true);
menubar=new MenuBar();
menu1=new Menu("文件");
menu2=new Menu("编辑");
item1=new MenuItem("新建"); item2=new MenuItem("保存");
item3=new MenuItem("打印"); item4=new MenuItem("复制");
item5=new MenuItem("全选");
menu1.add(item1);
menu1.addSeparator(); //菜单增加菜单项和分割线。
menu1.add(item2); menu1.add(item3); menu2.add(item4);
menu2.addSeparator(); menu2.add(item5);
menubar.add(menu1);menubar.add(menu2);
setMenuBar(menubar);
}
}
public class Example15_7 extends Applet
{ Thewindow window ;
public void init()
{ window=new Thewindow("体育之窗");
}
}
15-例子8
import java.applet.*;
import java.awt.*;
class Thiswindow extends Frame
{ MenuBar menubar;
Menu menu1,menu2;
CheckboxMenuItem item1,item2,item3,item4,item5;
Thiswindow(String s)
{ super(s);
setSize(60,70);
setBackground(Color.white);
setVisible(true);
menubar=new MenuBar();
menu1=new Menu("文件");
menu2=new Menu("编辑");
item1=new CheckboxMenuItem("新建");
item2=new CheckboxMenuItem("保存"); //使用ChechboxMenuItem,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -