忍者ブログ
私筆記
カテゴリー
* [心路歷程] 綜合百匯(4) * [心路歷程] 文章轉錄(2) * [程式設計] C.C++(0) * [程式設計] JAVA(2) * [網頁設計] Sever(0) * [網頁設計] HTML(1) * [網頁設計] PHP(0) * [網頁設計] SQL(0) * [網頁設計] AJAX(0) * [軟硬兼施] 應用軟體(0) * [心路歷程]攝紀路(14)
  カレンダー
12 2025/01 02
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
今天瀏覽人次
昨天瀏覽人次
總計瀏覽人次
  最新コメント
  最新トラックバック
      バーコード
      ブログ内検索
    [8] [7] [6] [5] [4] [3] [2] [1]
    2025/01/18 (Sat)
    ×

    [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
    この記事にコメントする
    name*
    title*
    color*
    mail*
    URL*
    comment*
    password* Vodafone絵文字 i-mode絵文字 Ezweb絵文字
    この記事へのトラックバック
    この記事にトラックバックする:
    忍者ブログ [PR]

    * ILLUSTRATION BY nyao *