📄 j02140503.java
字号:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class j02140503 extends Applet implements Runnable
{
Button b1,b2,b3;
TextField text1;
Image Img1;
Thread myThread;
String pic[]={"BACK1.JPG","BACK2.JPG","BACK3.JPG",
"BACK4.JPG","BACK5.JPG","BACK6.JPG","BACK7.JPG"};
String startNum = "1";
boolean wantRun ;
private int n = 0;
void initGUI()
{
this.setLayout(null);
b1 = new Button("选取喜爱的花色");
b1.setBounds(100,290,130,30);
b1.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
text1.setText("BACK" + String.valueOf(n+1)+".JPG");
}
});
this.add(b1);
text1 = new TextField();
text1.setBounds(250,292,130,25);
this.add(text1);
b2 = new Button("停止浏览花色");
b2.setBounds(100,330,130,30);
b2.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
stop(); //因为需要的程序代码和 stop() 内的完全一样。
/*注意!调用 stop() 并不会使 applet 停止!*/
}
});
this.add(b2);
b3 = new Button("开始浏览花色");
b3.setBounds(250,330,130,30);
b3.addMouseListener(new MouseAdapter()
{
public void mouseClicked(MouseEvent e)
{
start(); //因为需要的程序代码和 start() 内的完全一样。
/*注意!调用 start() 并不会使 applet 重新开始!*/
}
});
this.add(b3);
this.setBackground(new Color(255,193,255));
this.setVisible(true);
} //void initGUI() end
public void init()//初始化时 1
{
initGUI();
/* <param name="startnum" value="5"> */
startNum = this.getParameter("startnum"); //=5,表示 BACK5.JPG
n = (Integer.parseInt( startNum ))-1; //BACK1.JPG 是 pic[0]
}
public void start() //激活时 2
{
if(myThread == null)
{
wantRun = true;
myThread = new Thread( this );
myThread.start();
}
}
public void stop()
{ //停止时,如:换网页
wantRun = false;
myThread = null;
}
public void destory()
{
Img1 = null; myThread = null;
pic = null; startNum = null;
} //最后清除时,如:关闭浏览器
public void paint(Graphics g) // 3
{
g.drawString(("BACK" + String.valueOf(n+1)+".JPG"),20,20);
Img1 = this.getImage(this.getCodeBase(), pic[n]);
g.drawImage(Img1,20,35,this);
//Applet 类别有 implements ImageObserver
}
public void run()
{
while(true)
{
repaint(); // call paint()
if(!wantRun)
break; // 跳出 while 循环*/
/* 不适合用 while(wantRun),因为那样在 "停止浏览花色" 后若 "选取喜爱的花色",所得的是下一张图的档名 */
try
{
Thread.sleep(2000);
}catch(Exception ecp){}
n = n + 1; //要在 sleep 之后,避免 repait 不正常,同步使用 n 变量的问题
if(n >6)
n = 0;
}
} //void run() end
}//class j02140503 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -