2011年3月25日 星期五

JAVA的第六堂課 AWT Button

程式設計工藝大師http://tccnchsu.blogspot.com/

大家好,
今天又來分享心得了,
這次銜接上次第五堂課。


這是最剛開始的程式碼
以下解釋
static Frame ifrm=new Frame("Button class");

static 在某個電腦記憶體某區塊是靜止的(可以暫時不用理他,照打就對了)
Frame **** = new Frame("Button class");
是造一個Framer叫做**** 其TITLE是   Button class
其他的上個禮拜有解釋過,可以去看上禮拜的內容


BorderLayout這一行是把按鈕作排列,而排列方式是分北、南、東、西、中這五種
創造一個border具有這種按鈕功能



 這是今天的結果
// AWT, Button類別
import java.awt.*;
import java.awt.event.*;
public class AwtText extends Frame implements ActionListener
{
//static Frame ifrm=new Frame("Button class");
static Button btn1=new Button("BBBB1");  //建立按鈕物件
static TextField text1=new TextField("Text1") ;  //建立文字表單
static TextField text2=new TextField("Text2") ;
static TextField text3=new TextField("Text3") ;
static TextField text4=new TextField("Text4") ;
static TextField text5=new TextField("Text5") ;
static TextField text6=new TextField("Text6") ;
static TextField text7=new TextField("Text7") ;
public static void main(String args[])
{
AwtText ifrm=new AwtText(); //造出一個視窗
FlowLayout border =new FlowLayout();   //這是一種流水的排列方式,有別於上面的BorderLayout
ifrm.setLayout(border);
ifrm.setSize(500,150);
btn1.addActionListener(ifrm);
ifrm.add(btn1,border); // 在視窗內加入按鈕
ifrm.add(text1,border);
ifrm.add(text2,border);
ifrm.add(text3,border);
ifrm.add(text4,border);
ifrm.add(text5,border);
ifrm.add(text6,border);
ifrm.add(text7,border);
ifrm.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
int a,b,c,d,f,g,h;
a=(int) (Math.random()*49+1) ;
String aa = Integer.toString(a);   //把a整數轉成aa文字
System.out.println(a);
text1.setText(aa);                      //把aa印在text1的框框內,而這個***.setText( )的()內只能是文字
b=(int) (Math.random()*49+1) ;
String bb = Integer.toString(b);
System.out.println(b);
text2.setText(bb);
c=(int) (Math.random()*49+1) ;
String cc = Integer.toString(c);
System.out.println(c);
text3.setText(cc);
d=(int) (Math.random()*49+1) ;
String dd = Integer.toString(d);
System.out.println(d);
text4.setText(dd);
f=(int) (Math.random()*49+1) ;
String ff = Integer.toString(f);
System.out.println(f);
text5.setText(ff);
g=(int) (Math.random()*49+1) ;
String gg = Integer.toString(g);
System.out.println(g);
text6.setText(gg);
h=(int) (Math.random()*49+1) ;
String hh = Integer.toString(h);
System.out.println(h);
text7.setText(hh);
}
}

2011年3月18日 星期五

JAVA 的第五堂課

今天學的是與上次相連接的,
一樣是按鈕,
一開始我們先來看看這個程式碼:

 編譯完

接下來我們看看這個程式碼



 這是我最後寫出來的程式碼





在程式名字後面JFrame  implements ActionListener
可以有監聽功能
不過記得有了這個,程式最後面要多上
public void actionPerformed(ActionEvent e)
{

}



這是程式碼,以下紅色部分要一樣,
藍色是我自己寫的,在程式內請不要打上(或者加註解)


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;                                 套件
public class ButtonText extends JFrame  implements ActionListener  {
  public static void main(String[] args) {
       ButtonText test = new ButtonText();
}

ButtonText()
{
    JButton button1 = new JButton("Submit");   這是在import javax.swing.*套件下的東西   
JButton button2 = new JButton("Submit");
 button1.addActionListener(this);   這是讓button1對滑鼠做監聽 
button2.addActionListener(this);   這是讓button2對滑鼠做監聽
  getContentPane().add(button1);   把button1新增到一個frame 
getContentPane().add(button2);   把button2新增到一個frame
 setLayout(new FlowLayout());
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(200,100);
    setVisible(true);
 //  System.out.println("wait");   ←註解掉了  可以不看
//      System.exit(0);                ←註解掉了   可以不看
}
public void actionPerformed(ActionEvent e) {
int i=0;                                                這只是題目(隨機亂數1~49)   先把i設為整數變數
i = (int)(Math.random()*49+1);       Math.rahd() 0~1之間的亂數,(int) 後面強制設為整數格式  
System.out.println(i);                            印出這個數
}
}


 這就是今天的成果
 這個可以拿來當你不知道樂透想選什麼號碼的時候
 來試試看,或許有意想不到的收穫!!
 如果有中頭獎的話,不用分我,只要留個言我就很高興了~

2011年3月11日 星期五

JAVA的第四堂課 Button

今天上課是教如何用java做出個按鈕

首先我們來看看有什麼程式也能做出按鈕


VB這個程式也有製造按鈕功能




接下來我們也開始製作屬於自己JAVA的按鈕吧!!

因為剛開始沒有概念,所以我們找一下幾個網站
從裡面程式學習
以下網站可以參考
http://www.dotblogs.com.tw/brady/archive/2008/05/30/4177.aspx

一進入畫面 拉往下面一點點
就可以發現程式
然後使用他的程式碼
先把前面列數字刪除
在自己的JAVA檔案中  並且執行看看


以下是修改後的程式



注意一下
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
是之前JAVA已經有的程式(套件)
拿來當資料來源(這裡引用)

再來介紹一下
Frame frame=new Frame("Box");  
這是新增一個視窗名字為BOX
frame.setSize(500,600);
frame.setVisible(true);
它的大小是500,600
然後現在為開啟狀態

以下這個是可以打勾勾的按鈕
JCheckBox mybutton2 = new JCheckBox("123");
新增一個JAVA的CheckBox  名字叫mybutton2 後面會顯示123
mybutton2.setSize(40,30);        這是mybutton2的大小
frame.add(mybutton2);             以及把mybutton2加入倒剛剛的frame裡面

這是一個一般按鈕
Button mybutton = new Button("Boxes"); 
新增一個按鈕名字叫做 mybutton
mybutton.setSize(100,80);
這是按鈕大小
frame.add(mybutton);
加入按鈕到frame裡面


frame.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        System.exit(0);
      }
    }

這是讓他可以關閉,這樣才能關閉這個按鈕視窗
非常重要喔~  不然到時候關不掉可就好玩了!!

以上就是今天的程式內容

2011年3月4日 星期五

JAVA的第三堂課

今天上的JAVA課程中,
把第二堂課在重新學習一次如何看錯誤來改正自己的程式。
後來開始使用args[]這個東西,
測試使用System.out.println(args[0]);的用途
承接上次第二堂課System.out.println();
是藉由系統印出 ( )裡面的東西
如果要印出文字要加" "

因為args[]是一個文字陣列,
這次是用x當變數
所以在System.out.println(args[]);上面打上
x=args[0]
可是當這樣打的時候
去編譯卻不會過,
原因很簡單,就是x沒有宣告


於是我們在上面把x宣告成int (也就是整數) 
int x;

然後在編譯一次
還是會發生錯誤
原因為  x是整數 然而args[0]為文字
所以我們要把args[0]改成整數


最後的作業就是
寫一個小矩陣