1. 程式人生 > >利用MyEclipse建立一個applet小應用程式

利用MyEclipse建立一個applet小應用程式

1.開啟MyEclipse建立一個web專案 

2.專案名上右鍵點選建立一個applet

3.編寫applet程式內容

4.執行

a.可以直接在點選窗體上的執行按鈕

b.也可以到檔案目錄建立一個html檔案嵌入編譯後的.class檔案,在cmd中用appletviewer  *.html執行(class檔案路徑要整對,最好使用預設包)

例子

applet檔案  實現餘弦函式曲線圖


import java.applet.Applet;
import java.awt.Graphics;

public class First extends Applet {
	int x,y;
	public void paint(Graphics g) {
         //畫x軸、y軸
		for(x=0;x<=750;x+=1)
		{
			g.drawString("·",x,200);
			if(x<=385) g.drawString("·",360,x);
		}
		g.drawString("Y",330,20);
         //畫y軸箭頭
		for(x=360;x<=370;x+=1)
		{
			g.drawString("·",x-10,375-x);
			g.drawString("·",x,x-355);
		}
         //畫x軸箭頭
		g.drawString("X",735,230);
		for(x=740;x<=750;x+=1)
		{
			g.drawString("·",x,x-550);
			g.drawString("·",x,950-x);
		}
         //畫cox()曲線
		for(x=0;x<=720;x+=1)
		{
			double a=Math.cos(x*Math. PI/180+Math.PI);
			y=(int)(200+80*a);				//放大80倍並向下平移200個畫素
			g.drawString("·",x,y);
		}
	}
	
}

html檔案 (檔名任意,使用appletviewer  *.html執行)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head><title>餘弦曲線測試</title></head>
<body> 
		<p>
		<!--呼叫First位元組碼檔案 -->
		<applet code="First.class" width="900" height="600"></applet>
</body>
</html>  


前面介紹的餘弦曲線的繪製,我們看到的是一個完整的靜態圖形,能否動態地展現繪製的過程?答案是肯定的,我們可以採用執行緒的方式來實現,參考程式碼如下:

import java.applet.Applet;
import java.awt.Graphics;

public class First extends Applet implements Runnable{//通過實現Runnable介面實現執行緒操作
	int x,y;
	double a;
	int xpos=0;
	Thread runner;
	boolean painted=false;
	
	public void init() 					//Applet建立即啟動執行,座標初始化
	{
		Graphics g=getGraphics();		//畫畫之前,必須先取得畫筆
		for(x=0;x<=750;x+=1)			//畫x軸
		{
		  g.drawString("·",x,200);
		  if(x<=385) g.drawString("·",360,x);
		  
		}
		g.drawString("Y",330,20);		//畫y軸
		for(x=360;x<=370;x+=1)			//畫y軸箭頭
		{
		  g.drawString("·",x-10,375-x);
		  g.drawString("·",x,x-355);
		}
		g.drawString("X",735,230);
		for(x=740;x<=750;x+=1)				//畫x軸箭頭
		{
		  g.drawString("·",x,x-550);
		  g.drawString("·",x,950-x);
		}
	}

	public void start() 					//Applet建立後自啟動方法
	{
		if(runner==null){
			runner=new Thread(this);		//通過Thread類來啟動Runnable
			runner.start();					//執行緒啟動
		}
	}

	public void stop() 						//Applet生命週期結束後自啟動方法
	{
		if(runner!=null){
			runner=null;					//結束執行緒
		}
	}

	public void run() 						//執行緒執行方法
	{
		while(true){
			for(xpos=0;xpos<900-90;xpos+=3)	//迴圈設定曲線x軸座標邊界
			{
				repaint();					//呼叫paint()方法
				try{
					Thread.sleep(200);		//執行緒休息100毫秒
					}catch(InterruptedException e){}
				if(painted)
				{
					painted=false;	
				}
			}
		}
	}
	
	public void paint(Graphics g)			//畫圖方法
	{	
		for(x=0;x<=xpos;x+=1)				//迴圈畫曲線
		{
		  a=Math.cos(x*Math. PI/180+Math.PI);
		  y=(int)(200+80*a);				//放大80倍並向下平移200個畫素
		  g.drawString("·",x,y);
		}
		painted=true;
	}
}

在螢幕上畫出奧運五環旗。

觀察奧運五環旗的圖案,直觀的感覺,由五個圓組成,每個圓的顏色不一樣,大小一樣,按照一定的位置擺放,找到圓心座標的規律,就可以通過Graphics類提供的繪製橢圓的方法drawOval()來實現畫圓操作。

奧運五環旗由五個不同顏色的圓組成,我們可以通過迴圈依次輸出五個圓環。

分析圓的位置規律。分析出圓的圓心座標是畫圖的關鍵。


上面三個圓的圓心abcy座標相同,下面兩個圓的圓心dey座標相同,ab=bc=ad=de,為保證兩個圓相交,兩個圓的圓心距離必須小於2rr代表圓的半徑)。fab的中點,adf組成直角三角形,af=ad/2,只要給定五個圓的任何一個圓心座標,就可以推倒出其他幾個圓的圓心座標。我們這裡使用陣列來存放每個圓環的顏色、座標。程式碼如下:


import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Font;
public class Ch1_4 extends Applet 
{
	private Color clr[]={Color.blue,Color.black,Color.red,Color.yellow,
	Color.green};									//clr[]儲存顏色
	private int[] x={100,136,172,118,154}; 		//x[]儲存圓心的x座標
	private int[] y={60,60,60,91,91};				//y[]儲存圓心的y座標
	private int[][] xy={{100,60},{136,60},{172,60},{118,91},{154,91}};	//儲存圓心的座標
	private int r=20,d=40;
	public void paint(Graphics g)					//畫圖方法
	{ 
		Font font = new Font("楷體",Font.PLAIN,20);	//文字字型、大小
		g.setFont(font);
	
		for(int i=0;i<5;i++)						//迴圈5次,畫5個圓環
		{
			g.setColor(clr[i]);
			g.drawOval(x[i], y[i], d, d);	//d代表橢圓外切矩形的長寬,相等代表圓
		}
		g.setColor(Color.blue);						//設定顏色
		g.setFont(font);

		g.drawString("奧運五環旗",120,169);
	}														//END PAINT
}															//END CLASS