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);
}
}

2011年3月17日 星期四

第5次上課

後面+1是代表不會有0產生
輸入紅色框框裡的程式,即可隨機產生49個號碼

依照圖中所示,將出現一button

4. 在網路上另外找一程式,將之儲存,並將之編譯執行,
按下copy、cut、paste按鈕,分別會出現copy、cut、paste
3. Button mybutton = new Button ("ABC") 是代表依Button做一"Button"
可用"上帝依照祂的形象造人"來理解
myframe.add(mybutton1)則是代表在表單(frame)裡加入一Button(mybutton1)
2.使用println可以在執行時,出現wait
1.在網路上找到有關button的程式,複製到wordpad上

第4次上課-Button and Check box

首先在wordpad開一新檔案,存檔類型設成"文字文件",
並存在D槽的"source資料夾裡"

在網路上找一button程式的範例,貼到wordpad上,
注意此程式的檔名為"Work2",所以必須更改存檔的檔名,
改成"Work2.java" (注意!!須將副檔名改為java)

編譯並且執行,可看到出現一button

原本的程式是設成讓按鈕越按越大(SizeW * 2與SizeH*2),
我們可以將它改成越按越小,將原本size改成1810*560
然後將SizeW*2與SizeH*2改成SizeW*0.5與SizeH*0.5,
(注意!!前面必須加上int,因為frame必須用int計算)


加上一行import java.awt.*; 可以在Java資料夾裡的壓縮檔找到,
"import"代表把底下的資料都叫進來,
"*"代表所有的

將不會用到的前面加上//代表註解

新增一frame,圖中紅色框框所示是代表能讓視窗的"X"執行,
這樣視窗才不會關不掉!!

加入一button,編譯並執行,就會出現button

將button改成checkbox,就會看到checkbox!!

2011年3月4日 星期五

第3次上課-基本架構與矩陣


進到demo\applets\Animator可以看到許多examples


到D:\Java\jdk1.6.0_24\bin複製網址並貼上後面打上\java.exe,若有出現許多文字,代表有找到此檔案
(路徑不可有空白)
 

到wordpad開一檔案,將檔名改為"Test20110304.java"存在D槽的"source"裡
將路徑改到D:\source>並貼上D:\Java\jdk1.6.0_24\bin再打上javac Test20110304.java編譯
java Test20110304執行
會出現錯誤,要在wordpad裡打上如圖中的基本架構才對


int x 代表 宣告x
x=Integer.parseInt(args[0]);便是將字串string轉換成整數int


輸入數字並輸出


args[]中括號裡的數字代表讀取第幾個數字
若是0則讀取第1個數字
若是1則讀取第2個數字


設定各參數
並且打出(x*a)+(y*b)
代表一2*1的矩陣乘上一1*2的矩陣
輸出結果