記錄:java程式沒有main函式只有init函式怎麼執行,或者applet小程式怎麼執行

fulinux發表於2017-06-23

【例 1-1】

Java程式J507.java:

import java.applet.*;import java.awt.*;
import java.awt.event.*;import javax.swing.*;
class MyPanel extends JPanel{
	int x;JLabel label1;
	MyPanel(int a){
		x=a;getSize();
		label1=new JLabel("我是第"+x+"個標籤");add(label1);
	}
	public Dimension getPreferredSize(){
		return new Dimension(200,50);
	}
}
public class J507 extends Applet implements ActionListener{
	CardLayout mycard;MyPanel myPanel[];JPanel p;
	private void addButton(JPanel pan,String butName,ActionListener listener){
		JButton aButton=new JButton(butName);
		aButton.addActionListener(listener);
		pan.add(aButton);
	}
	public void init(){
		setLayout(new BorderLayout());//小程式的佈局是邊界佈局
		mycard=new CardLayout();
		this.setSize(400,150);
		p=new JPanel();p.setLayout(mycard);//p的佈局設定為卡片式佈局
		myPanel=new MyPanel[10];
		for(int i=0;i<10;i++){
			myPanel[i]=new MyPanel(i+1);
			p.add("A"+i,myPanel[i]);
		}
		JPanel p2=new JPanel();
		this.addButton(p2,"第一個",this);
		this.addButton(p2,"最後一個",this);
		addButton(p2,"前一個",this);
		addButton(p2,"後一個",this);
		add(p,"Center"); add(p2,"South");
	}
	public void actionPerformed(ActionEvent e){
		if (e.getActionCommand().equals("第一個"))mycard.first(p);
		else if(e.getActionCommand().equals("最後一個"))mycard.last(p);
		else if(e.getActionCommand().equals("前一個"))mycard.previous(p);
		else if(e.getActionCommand().equals("後一個"))mycard.next(p);
	}
}
在編寫一個test.html檔案:

<applet code ="J507.class" height=300 width=200></applet>

在通過如下命令執行:

$ appletviewer test.html



相關文章