2011年3月25日 星期五

第6次上課-button與textfield

程式設計工藝大師裡面複製Basic Class Template of  AWT的內容,
複製貼到wordpad裡,檔名必須與public class後的"AwtTest"相同
如圖中,編譯然後執行,即可看到button,
如果不能把button的視窗關掉,回到命令提示字元,按ctrl+C即可

我們可以另外加入許多button

加入button並且編譯執行後,只會出現一個button,
這是因為其它的button被他壓在下面,所以我們必須將button排好,
才可以看到全部的button。到google搜尋"java 版面",可以找到有關borderlayout的相關資訊
於是我們繼續搜尋"java borderlayout",可以找到BorderLayout border = new BorderLayout();
再加入myfrm.setLayout(border);
然後,如圖中所示,在btn後面加上" ,border.EAST " 等等..
編譯執行,就可以看到5個button排排站好了!

接下來我們想加入文字方塊,將"Button"改成"TextField"

在網路上可以找到另一種文字方塊的寫法(Textbox),
但是它是用在javax底下,而我們所用的java\awt底下
文字方塊的寫法應為"TextField"

到現在我們的button按下都沒有反應,所以我們要幫它加耳朵,
參考之前做過的,我們加入ActionListeners在AwtTest後面。
參考之前大樂透選號碼的程式,我們在下面加上程式,
注意ActionEvent,ActionEvent.java雖然在awt\event底下,但awt.*沒有包含資料夾,
所以我們必須再加上一行import java.awt.event.*;
ActionEvent才可以執行

btn1.addActionListener(myfrm);
加入此行,讓btn1有耳朵

將整數轉字串






// AWT, Button類別
import java.awt.*;
import java.awt.event.*;
public class AwtTest extends Frame implements ActionListener
{
//static Frame myfrm=new Frame("12356");
//static AwtTest myfrm=new AwtTest("Button class");
static Button btn1=new Button("btn1"); // 建立按鈕物件
static TextField tbx1=new TextField("tbx1"); //建立文字方塊
static TextField tbx2=new TextField("tbx2"); //建立文字方塊
static TextField tbx3=new TextField("tbx3"); //建立文字方塊
static TextField tbx4=new TextField("tbx4"); //建立文字方塊
static TextField tbx5=new TextField("tbx5"); //建立文字方塊
static TextField tbx6=new TextField("tbx6"); //建立文字方塊
static TextField tbx7=new TextField("tbx7"); //建立文字方塊
public static void main(String args[])
{
AwtTest myfrm = new AwtTest();
FlowLayout flow = new FlowLayout();
myfrm.setLayout(flow);
myfrm.setSize(200,150);
btn1.addActionListener(myfrm);
myfrm.add(btn1); // 在視窗內加入按鈕
myfrm.add(tbx1);
myfrm.add(tbx2);
myfrm.add(tbx3);
myfrm.add(tbx4);
myfrm.add(tbx5);
myfrm.add(tbx6);
myfrm.add(tbx7);
myfrm.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
int rn1,rn2, rn3,rn4,rn5,rn6,rn7;
rn1=(int) (Math.random()*49) ;
rn2=(int) (Math.random()*49) ;
rn3=(int) (Math.random()*49) ;
rn4=(int) (Math.random()*49) ;
rn5=(int) (Math.random()*49) ;
rn6=(int) (Math.random()*49) ;
rn7=(int) (Math.random()*49) ;
System.out.println(rn1);
System.out.println(rn2);
System.out.println(rn3);
System.out.println(rn4);
System.out.println(rn5);
System.out.println(rn6);
System.out.println(rn7);
String stringValue1 = Integer.toString(rn1);
String stringValue2 = Integer.toString(rn2);
String stringValue3 = Integer.toString(rn3);
String stringValue4 = Integer.toString(rn4);
String stringValue5 = Integer.toString(rn5);
String stringValue6 = Integer.toString(rn6);
String stringValue7 = Integer.toString(rn7);
tbx1.setText(stringValue1);
tbx2.setText(stringValue2);
tbx3.setText(stringValue3);
tbx4.setText(stringValue4);
tbx5.setText(stringValue5);
tbx6.setText(stringValue6);
tbx7.setText(stringValue7);
}
}

沒有留言:

張貼留言