忍者ブログ
私筆記
カテゴリー
* [心路歷程] 綜合百匯(4) * [心路歷程] 文章轉錄(2) * [程式設計] C.C++(0) * [程式設計] JAVA(2) * [網頁設計] Sever(0) * [網頁設計] HTML(1) * [網頁設計] PHP(0) * [網頁設計] SQL(0) * [網頁設計] AJAX(0) * [軟硬兼施] 應用軟體(0) * [心路歷程]攝紀路(14)
  カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
  最新記事
  アーカイブ
  カテゴリー
  研究紀錄
  RSS
收藏本站Add to Technorati Favorites
今天瀏覽人次
昨天瀏覽人次
總計瀏覽人次
  最新コメント
  最新トラックバック
      バーコード
      ブログ内検索
    2024/05/03 (Fri)
    ×

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

    2008/02/29 (Fri)
      翻著從圖書館借來的歷史悠久的書一步一步的做,慢慢的也出現了一些東西呢。不知不覺,跟著書上的範例程式碼一個個練習下來,也到了一個段落。當然,就如同標題所說得一樣,能有這樣的結果完完全全就是照本宣科所得到的,其實裡面有不少部份我還是看不太懂,像是一些宣告跟函數都還不是非常的清楚。我想,或許這本所謂的"JAVA入門"並沒有辦法讓我瞭解Java的一些基本的程式碼以及函數。但是有一點很棒的地方就是,跟著它的內容一步步下來所產生出來的結果,讓我對Java程式碼的興趣提昇了不少,至少跟上學期的C還有C++比起來是好的多了,畢竟已經出現GUI了呢。

      這個範例主要是寫出一個有正常視窗"關閉"、"開啟"、"儲存"的幾樣功能,搭配了中間的TextArea 跟下面的Buttons,我們可以在TextArea中輸入文字並經由File->Save的功能將所輸入的文字儲存起來。

      "JAVA入門"這本書中的內容沒有很多也沒有很深入,這個程式就是書中關於Java Application的全部,再下一章就是關於Java Applet的介紹與範例了。看來得要再找一本書了,小古的課真的跟傳說中的一樣...很催眠,而且那本原文書雖然聽說很有名,但是一開始就是一些怪怪的東西,根本就不像給初學者看的...
    ---------------------------------------------------------------------------
    Program:

    ---------------------------------------------------------------------------
    CODE:
    import java.awt.*;
    import java.io.*;

    public class Window2 extends Frame
    {
        TextArea t=new TextArea("this is TextArea.",5,5);
        FileDialog d;
        File f,sf;
        byte bu[]=new byte[5000];
        FileInputStream fo;           
        FileOutputStream sfo;
        int Save=1;
        ByteArrayOutputStream st;       
        StringBufferInputStream sst;
        String s,getstr,strbuf,sb;
       
        public Window2()
        {
            super("Window2");
            pack();
            resize(500,400);
           
            MenuBar mb = new MenuBar();

            Menu m1= new Menu("File");
            m1.add(new MenuItem("New Window"));
            m1.add(new MenuItem("Save"));
            m1.add(new MenuItem("Open"));
            m1.add(new MenuItem("Close"));
            m1.add(new MenuItem("Exit"));
           
            Menu m2= new Menu("Edit");
            m2.add(new MenuItem("Copy"));
            m2.add(new MenuItem("Past"));
            m2.add(new MenuItem("Delete"));
            mb.add(m1);
            mb.add(m2);
            setMenuBar(mb);

            Panel p=new Panel();
            p.add(new Button("Clear"));
            p.add(new Button("Reset"));
            p.add(new Button("Exit"));
            //add("East",p);
            add("South",p);
           
            add("Center",t);
           
            show();
        }
        public static void main(String args[])
        {
            new Window2();
        }
        @Override
        public boolean handleEvent(Event e)
        {
            if(e.id==Event.WINDOW_DESTROY)
            {
                dispose();
               // System.exit(0);
                return true;
            }
            else if(e.id==Event.ACTION_EVENT)
            {
                if(("Exit").equals(e.arg))
                {
                    System.exit(0);
                    return true;
                }
                else if(("New Window").equals(e.arg))
                {
                    new Window2();
                    return true;
                }
                else if(("Close").equals(e.arg))
                {
                    dispose();
                    return true;        
                }
                else if(("Clear").equals(e.arg))
                {
                    t.setText("");
                    return true;
                }   
                else if(("Reset").equals(e.arg))
                {
                    t.setText("New Text");
                    return true;            
                }
                else if(("Open").equals(e.arg))
                {
               
                    String s,sb;
                   
                    d=new FileDialog(this,"Open File");
                    d.show();
                    s=d.getFile();
                   
                    File f = new File(s);
                   
                  
                    try
                    {
                        fo=new FileInputStream(f);
                        try
                        {
                            fo.read(bu);
                            fo.close();
                        }catch(IOException fioe){}
                    }catch(FileNotFoundException fe){}
                   
                   
                    try
                    {
                        st=new ByteArrayOutputStream();
                        st.write(bu);
                        sb=st.toString();
                        t.setText(sb);
                        setTitle(sb);                   
                    }catch(IOException fiose){}
                    return true;
                   
                }
                else if(("Save").equals(e.arg))
                {
                    getstr=t.getText();
                    sst=new StringBufferInputStream(getstr);
                    sst.read(bu,0,5000);
                   
                    d=new FileDialog(this,"Save File",Save);
                    d.show();
                    s=d.getFile();
                    sf=new File(s);
                   
                    try
                    {
                        sfo=new FileOutputStream(sf);
                        try
                        {
                            sfo.write(bu);
                            sfo.close();
                        }catch(IOException sfioe){}                   
                    }catch(IOException sfe){}
                    return true;
                }
            }
            return false;
        }
    }
    ---------------------------------------------------------------------------
    PR
    2008/02/28 (Thu)
    AWT (Abstract Window ToolKit )      虛擬視窗工具組
    API (Application Programming Interface)      應用程式撰寫介面
    Applet      小應用程式
    Application      應用程式
    Architecture Neutral      架構中立性的
    Argument      引數
    Assembly Code      組合碼
    Binary Code      二(位)元碼
    Browser      瀏覽器
    Bug      臭蟲(錯誤)
    Byte Array Output Stream      位元陣列輸出流
    Bytecode      位元碼
    Call       呼叫
    CGI      Common Gateway Interface
    Class      類別;族群
    Class Body      類別主體
    Classloader      類別載入器
    Client      應用端;客戶端
    Client - Sever      主從式架構
    Compile-Time Checking      編譯檢查
    Compiler      編譯器(程式)
    Conditional Variable      條件變數
    Constructor      建立器
    Current Class      目前類別
    Cyberbrew      電腦咖啡(?)
    Cyberspace      虛擬世界(電腦空間)
    Debugger      除錯器
    Description Language      敘述語言
    Distributed      分散式的
    DNS (Domain Name Server)      網域(領域)名稱伺服器
    Dynamic      動態性的
    Executable File      可執行檔案
    Function      函式、函數
    GUI (Graphics User Interface)      圖形化使用者介面
    HotJava      Java 瀏覽器
    HREF      Hyper Reference
    HTML (HyperText Markup Language)      超文字組合語言
    Inheritance      繼承
    Interlocking      互鎖
    Interpreter      解譯器
    Invoke      召出
    IP Address (Internet Protocol Address)      網路位址
    JAVA      爪哇、咖啡
    JavaScript      Java命令稿
    Java Applet      Java 小應用程式
    Java Language      Java 語言
    JDK (Java Developer's Kit)       Java 語言工具集
    Library      程式庫、函式庫
    Linker      連結器
    Loader      載入器
    Machine-Independent      機器種類獨立性
    Machine Code      機械碼
    Machine Language Code      機械語言碼
    Method Invocation      方法請求
    Multitasking      多工
    Object Code      目的碼(物件碼?)
    Object Oriented      物件導向的
    Overload      重載、超負荷
    Operator Overloading      運算元多載
    Pointer      指標
    Robust      強韌性
    Routine Library      常駐函式庫
    Runtime      動態
    Source Code      原始程式碼
    Subclass      子類別
    Super Class      超級類別
    Synchronization Primitive      同步化基本元
    URLs (Uniform Resource  Locator)       一致性資源定位器
    UI (User Interface)      使用者介面
    Verifer      檢驗器
    White Paper      白皮書
    WWW (World Wide Web)      全球資訊網
    忍者ブログ [PR]

    * ILLUSTRATION BY nyao *