<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Corsair

    My javaWorld
    數(shù)據(jù)加載中……

    2006年7月8日

    JAVA3D包功能介紹

         摘要: 包 簡(jiǎn)介          ...  閱讀全文

    posted @ 2007-04-15 11:06 銀河海盜 閱讀(1710) | 評(píng)論 (3)編輯 收藏
    向上轉(zhuǎn)型中子類(lèi)將能看到父類(lèi)被覆蓋字段的現(xiàn)象探討

    我們知道,在子類(lèi)繼承父類(lèi)之后,如果子類(lèi)與父類(lèi)有同名的字段和方法,那么子類(lèi)中的子段會(huì)代替或隱藏父類(lèi)的子段,說(shuō)明子類(lèi)字段覆蓋了超類(lèi)字段,但可以通過(guò)super關(guān)鍵字去訪問(wèn)超類(lèi)字段。但是,在我們將子類(lèi)對(duì)象向超類(lèi)轉(zhuǎn)型的時(shí)候就會(huì)發(fā)生這個(gè)奇怪的現(xiàn)象,子類(lèi)對(duì)象居然可以看到父類(lèi)曾經(jīng)被覆蓋掉的字段!就正如下面例子中一樣:

    ?1?class?A{
    ?2?????boolean?bb?=false;
    ?3?}
    ?4?
    ?5?public?class?B?extends?A{
    ?6?????boolean?bb?=?true;
    ?7?????//int?a=1;
    ?8?????public?static?void?main(String[]?args)?{
    ?9?????????B?b?=new?B();
    10?????????A?a?;
    11?????????a=?b;
    12?????????//---??
    13?????????System.out.println(a.bb);
    14?????????//---這句可以理解
    15?????????System.out.println(b.bb);
    16?????????//---??
    17?????????System.out.println(?((A)b).bb);
    18?????????//----
    19?????}
    20?????/*運(yùn)行結(jié)果
    21??????*?false
    22??????*?true
    23??????*?false
    24??????*?*/
    25?}

    為什么會(huì)發(fā)生這樣的情況呢?
    關(guān)于這種情況的解釋在[美]Peter van der Linden著的《Just Java2》中有了答案:
    P106他說(shuō):
    ???一定要注意:當(dāng)把子類(lèi)轉(zhuǎn)換成超類(lèi)時(shí),子類(lèi)可以見(jiàn)到或訪問(wèn)被隱藏的同名變量。Java允許名字重復(fù)的原因是,允許將來(lái)把新的字段加到超類(lèi)中,而不影響已經(jīng)使用了該名字的現(xiàn)有子類(lèi),子類(lèi)將會(huì)繼續(xù)使用自己的字段副本。除非讓子類(lèi)以超類(lèi)對(duì)象的形式出現(xiàn),方法可以覆蓋,但是字段不能被覆蓋。注意:最好不要隱藏超類(lèi)中的字段名。
    ?????
    所以我們?cè)谶M(jìn)行向上轉(zhuǎn)型的時(shí)候一定要注意:不要訪問(wèn)子類(lèi)中那些“覆蓋”掉父類(lèi)的字段(它并沒(méi)有真正覆蓋掉,在向上轉(zhuǎn)型的時(shí)候就可以訪問(wèn)的到),要么將子類(lèi)字段改名(在你知道父類(lèi)代碼的情況下),要么通過(guò)方法來(lái)訪問(wèn)字類(lèi)字段(方法即使同名也肯定能覆蓋掉)。

    posted @ 2007-03-31 11:31 銀河海盜 閱讀(715) | 評(píng)論 (2)編輯 收藏
    繼承帶參數(shù)構(gòu)造器的超類(lèi)并且調(diào)用自身其他構(gòu)造器的討論

    // 首先有一個(gè)帶參數(shù)的超類(lèi):?
    class ?SuperClass {?
    ???String?str
    = " create?superClass?obj " ;?
    ???SuperClass(
    int ?num) {?
    ???????System.out.println(num
    + str);?
    ???}
    ?
    }
    ?
    /*
    現(xiàn)在有一個(gè)子類(lèi)繼承了這個(gè)超類(lèi),那么這個(gè)子類(lèi)應(yīng)該顯式的調(diào)用超類(lèi)的構(gòu)造函數(shù),以便初始化自己的父類(lèi),如下。?
    */

    class ?SubClass? extends ?SuperClass {?
    ???SubClass(
    int ?num) {?
    ??????
    super (num);?
    ???}
    ?
    }
    ?
    /*
    現(xiàn)在子類(lèi)還要定義一個(gè)新的構(gòu)造函數(shù),并且在前一個(gè)構(gòu)造函數(shù)中調(diào)用這個(gè)新的構(gòu)造函數(shù),更改如下:?
    */

    class ?SubClass? extends ?SuperClass {?
    ???SubClass(
    int ?num) {?
    ??????
    super (num);?
    ??????
    this ( " other?SubClass(String) " );?
    ???}
    ?
    ???SubClass(String?s)
    {?
    ??????System.out.println(s);?
    ???}
    ?
    ???
    public ? static ? void ?main(String[]?args) {?
    ??????
    new ?SubClass();?
    ???}
    ?
    }
    ?
    /*
    由于我們知道在一個(gè)類(lèi)中的構(gòu)造函數(shù)中要調(diào)用自己的其他構(gòu)造函數(shù),只能通過(guò)this();的方式調(diào)用一個(gè),并且要放在所在構(gòu)造函數(shù)的第一行,但是使用super();顯式調(diào)用也父類(lèi)帶參構(gòu)造函數(shù)也只能放在第一行,那么這樣就會(huì)發(fā)生沖突。
    */
    // 參考:?
    public ? class ?SuperClass? {?
    String?str
    = " create?superClass?obj " ;??
    ?SuperClass(
    int ?num) {??
    ???????System.out.println(num
    + str);??
    ???}
    ??
    }
    ?
    public ? class ?SubClass? extends ?SuperClass? {?
    ???SubClass(
    int ?num) {??
    ??????
    super (num);??
    ??????sub(num,
    " other?Subclass(String) " );?
    ???}
    ??
    ???SubClass(
    int ?num,String?s) {??
    ??????
    super (num);?
    ??System.out.println(s);??
    ???}
    ?
    ???
    // -------------?
    ???SubClass?sub( int ?num,String?s) {?
    ???
    return ? new ?SubClass(num,s);?
    ???}
    ?
    ???
    public ? static ? void ?main(String[]?args) {??
    ??????
    new ?SubClass( 1 );?
    ???}
    ??
    }

    posted @ 2007-03-31 10:56 銀河海盜 閱讀(455) | 評(píng)論 (0)編輯 收藏
    關(guān)于名稱(chēng)屏蔽討論

    關(guān)于超類(lèi)方法重載,子類(lèi)無(wú)法覆蓋其中的任意一個(gè)方法。

    public?class?SuperClass?{?
    public?void?method(){?
    System.out.println(
    "super?method()?worked.");?
    }
    ?
    public?void?method(int?a){?
    System.out.println(
    "super?method(int)?worked");?
    }
    ?
    public?void?method(String?s){?
    System.out.println(
    "super?method(string)?worked");?
    }
    ?
    }
    ?
    //------------sub---------------?
    public?class?SubClass?extends?SuperClass?{?
    ??
    public?void?method(){?
    ??System.out.println(
    "subclass?method()?worked");?
    ??}
    ?
    ??
    public?void?method(int?a){?
    ??
    super.method(a);?
    ??}
    ?
    ??
    public?void?method(char?c){?
    ??System.out.println(
    "subclass?method(char)?worked");?
    ??}
    ?
    }
    ?
    //------------run---------------?
    public?class?Test?{?
    public?static?void?run(SuperClass?a){?
    a.method();?
    a.method(
    1);?
    a.method(
    "string");?
    }
    ?
    public?static?void?main(String[]?args)?{?
    run(
    new?SubClass());?
    new?SubClass().method('r');?
    }
    ?
    }
    ?
    //=============END===============?
    subclass?method()?worked?
    super?method(int)?worked?
    super?method(string)?worked?
    subclass?method(
    char)?worked?
    //=============END===============?

    posted @ 2007-03-31 10:53 銀河海盜 閱讀(326) | 評(píng)論 (1)編輯 收藏
    解決linux環(huán)境下jsp+mysql數(shù)據(jù)庫(kù)中文亂碼的問(wèn)題

    經(jīng)過(guò)一個(gè)星期的艱苦奮斗終于解決了這個(gè)問(wèn)題,特將經(jīng)驗(yàn)摘錄下來(lái)備忘。本文將解決以下的幾種亂碼問(wèn)題。

    中文存入 mysql 數(shù)據(jù)表出現(xiàn)的亂碼,從 JSP 頁(yè)面讀取 mysql 中文數(shù)據(jù)出現(xiàn)亂碼,以及在 sell 環(huán)境下查看數(shù)據(jù)庫(kù)表中文數(shù)據(jù)出現(xiàn)亂碼。

    linux平臺(tái):ubuntu6.10

    mysql版本:5.0

    瀏覽器:firefox2.0

    為了解決中文亂碼的問(wèn)題首先就是要同一字符集,我采用utf-8

    第一步:安裝mysql后,修改配置文件/etc/mysql/my.cnf 找到相應(yīng)項(xiàng)并添加如下字段,如下所示:(注意是添加,配置文件中其他不相關(guān)的內(nèi)容下面并沒(méi)有列出來(lái))

    [client]

    default-character-set=utf8

    [mysqld_safe]

    default-character-set=utf8

    [mysqld]

    default-character-set=utf8

    [mysql]

    default-character-set=utf8

    重新啟動(dòng)mysql服務(wù),進(jìn)入sell終端,進(jìn)入mysql的命令提示符下輸入如下指令:

    mysql>show variables like '%char%';

    如果出現(xiàn)的列表各項(xiàng)內(nèi)容和以下相同表明配置成功了,

    +---------------------+---------------------

    | Variable_name | Value

    +-----------------------+---------------------

    | character_set_client | utf8

    | character_set_connection | utf8

    | character_set_database | utf8

    | character_set_filesystem | binary

    | character_set_results | utf8

    | character_set_server | utf8

    | character_set_system | utf8

    | character_sets_dir | /usr/share/mysql/charsets/

    +---------------------+----------------------

    第二步:在要發(fā)送中文或者要讀取中文的JSP頁(yè)面(最好所有頁(yè)面)都添加如下聲明:

    <%@page pageEncoding="UTF-8"%>

    <%@ page contentType="text/html;charset=utf-8"%>

    <% request.setCharacterEncoding("utf-8"); %>

    <head>標(biāo)簽對(duì)中添加如下:

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    注意在servlet中對(duì)請(qǐng)求進(jìn)行響應(yīng)的方法中同樣要有:

    response.setContentType("text/html;charset=utf-8");


    第三步:(由于不明原因firefox發(fā)送的請(qǐng)求仍然是latin1的時(shí)候執(zhí)行這一步)

    在將請(qǐng)求的參數(shù)插入數(shù)據(jù)庫(kù)之前還要再執(zhí)行一次轉(zhuǎn)碼(latin1編碼轉(zhuǎn)換為utf-8),例如:

    String utf8_str = new String( latin_str .getBytes("latin1"),"utf-8");

    這一步可以寫(xiě)在一個(gè)過(guò)濾器中,不怕麻煩也可以在每一次在將請(qǐng)求數(shù)據(jù)插入之前都進(jìn)行一次轉(zhuǎn)碼。


    另外:在連接數(shù)據(jù)庫(kù)的時(shí)候可以不用加上字符集參數(shù)了,直接用用戶名和密碼連接就可以了,如連接:

    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/數(shù)據(jù)庫(kù)名","用戶名","密碼");

    posted @ 2007-01-14 20:04 銀河海盜 閱讀(2056) | 評(píng)論 (0)編輯 收藏
    設(shè)計(jì)模式學(xué)習(xí)筆記(2006.10,11,12)

         摘要: 時(shí)間過(guò)的快么?人的感覺(jué)而已,時(shí)間還是那樣地流過(guò),但人們卻有不同的感受,收獲的越多,感覺(jué)時(shí)間過(guò)的越慢,認(rèn)知的越少,時(shí)間也就過(guò)的越快。有三個(gè)月沒(méi)寫(xiě)點(diǎn)什么東西了,為了讓時(shí)間記住這三個(gè)月都發(fā)生了什么,趁現(xiàn)在還沒(méi)有忘記還是記錄下來(lái)罷,今天心情不好所以廢話也就多點(diǎn)。 ?????? 按時(shí)間順序一個(gè)一個(gè)來(lái)吧。 ...  閱讀全文

    posted @ 2007-01-14 03:19 銀河海盜 閱讀(313) | 評(píng)論 (0)編輯 收藏
    linux安裝配置筆記

    關(guān)于ubuntu與xp雙系統(tǒng)的安裝過(guò)程

    1. (正常安裝完windows之后)分區(qū):使用harddiskmanager或其它分區(qū)軟件劃分一個(gè)ext3主分區(qū)和swap分區(qū),另外在擴(kuò)展分區(qū)中劃分出多個(gè)要供linux使用的的邏輯分區(qū)。
    2. 將windows系統(tǒng)分區(qū)的激活狀態(tài)設(shè)置為關(guān)閉(不能設(shè)置為隱藏)。將linux主分區(qū)設(shè)置為激活。
    3. 光盤(pán)啟動(dòng)ubuntu的liveCD,進(jìn)入系統(tǒng)后安裝,手動(dòng)編輯分區(qū)表:將/root掛載在linux主分區(qū)上,將/usr , /var , /home 掛載在邏輯分區(qū)上。grub安裝在linux的主分區(qū)上(即/root分區(qū)),注意grub的分區(qū)計(jì)數(shù)是從0開(kāi)始,系統(tǒng)目錄掛載分區(qū)技數(shù)從1開(kāi)始,假如linux系統(tǒng)分區(qū)是第一個(gè)硬盤(pán)的第三個(gè)分區(qū),則系統(tǒng)目錄掛載分區(qū)表示為:/dev/hda3其中a表示第一塊硬盤(pán)3表示第三個(gè)分區(qū),相應(yīng)的grub表示為(hd0,2)數(shù)字0表示第一個(gè)硬盤(pán),2表示第三個(gè)分區(qū)。
    4. 安裝完畢后取出光盤(pán)重起進(jìn)入ubuntu系統(tǒng)。

    配置ubuntu系統(tǒng)

    1. 上網(wǎng):sudo pppoeconf
    2. 更改源:sudo gedit /etc/apt/sources.list 按速度快慢(使用ping測(cè)試)將源地址添加在開(kāi)頭,最后加入官方源。
    3. 更新軟件包信息:sudo apt-get update
    4. 添加中文支持。在語(yǔ)言支持中選chease并打勾,自動(dòng)下載語(yǔ)言包和輸入法。
    5. 在英文界面下添加輸入法: sudo apt-get install im-switch libapt-pkg-perl sudo im-switch -s scim -z default 注銷(xiāo)一次
    6. ?下載可同軟件的更新。

    與window局域網(wǎng)互聯(lián)

    1. 安裝網(wǎng)絡(luò)服務(wù)nfs 和 smb 修改靜態(tài)IP。
    2. 添加一個(gè)window可訪問(wèn)的用戶帳號(hào): sudo adduser -a xxx? 輸入密碼? 添加smb用戶 smbpasswd -a xxx 輸入密碼。
    3. 創(chuàng)建一個(gè)網(wǎng)絡(luò)文件夾的本地掛載點(diǎn)? 協(xié)議:window共享? 服務(wù)器:對(duì)發(fā)ip? 域:工作組名 用戶名:登錄對(duì)方window的帳號(hào) 連接名:隨便。

    雙網(wǎng)卡與window實(shí)現(xiàn)共享上網(wǎng),ububtu做主機(jī)

    1. 下載firestarter安裝,配置:連接internet:pppo -》打開(kāi)網(wǎng)絡(luò)共享:與window互聯(lián)的網(wǎng)卡—》添加策略:inbound traffic policy :Allow connection:對(duì)方IP。—》service: DNS ,SSH ,FTP ,HTTP ...?根據(jù)需要開(kāi)放端口。
    2. 下載并安裝bind9,配置bind9:sudo gedit /etc/bind/name.conf.options 在forwards 下添加域名解析服務(wù)器的IP地址。

    其他注意

    1. firefox與flash插件9.0存在兼容問(wèn)題,使用較低的flash插件版本。
    2. 備份/var/cache/apt/下的所有軟件包文件以避免以后重新下載。以后需要安裝時(shí)只需copy相應(yīng)的軟件包到該目錄下即可。
    3. 可以在使用在windows下安裝的ghost8.3在dos下來(lái)備份和恢復(fù)linux ext3分區(qū)。
    4. 安裝bin文件:先給予可執(zhí)行權(quán)限chmod +x xxx.bin在sell下輸入bin文件所在的路徑執(zhí)行即可,如 ~/backup/xxx.bin
    另外注意備份windows的分區(qū)表,以防萬(wàn)一

    posted @ 2006-12-25 18:26 銀河海盜 閱讀(403) | 評(píng)論 (0)編輯 收藏
    XML精要二

         摘要: DTD和Schema簡(jiǎn)介
    DTD和Shema用來(lái)定義將用來(lái)表示數(shù)據(jù)的元素
    DTD語(yǔ)法
    Schema簡(jiǎn)介
    使用 XML 模式,您會(huì)有更多的能力來(lái)定義什么樣的 XML 文檔是有效的
      閱讀全文

    posted @ 2006-11-01 10:21 銀河海盜 閱讀(234) | 評(píng)論 (0)編輯 收藏
    XML精要一

         摘要: 《XML精要》
    前言
    開(kāi)始學(xué)XML也有個(gè)把星期了,前后看了幾本書(shū)關(guān)于XML基礎(chǔ)的書(shū),感覺(jué)講的甚是凌亂,有些書(shū)甚至干脆直接在網(wǎng)上COPY些資料東抄一點(diǎn)西抄一點(diǎn)最后就出版了(比如《XML語(yǔ)言及應(yīng)用---清華大學(xué)出版社》就干脆直接將網(wǎng)上的《XML初學(xué)進(jìn)階》抄下來(lái),將例子改改就完了)現(xiàn)在中國(guó)大學(xué)治學(xué)的態(tài)度可見(jiàn)一斑,直到本周發(fā)現(xiàn)了一個(gè)IBM的在線XML教程,該教程將XML所有的知識(shí)分解為一個(gè)個(gè)單獨(dú)的講座,每堂課還介紹了所需要的前提知識(shí)以及所要用到到參考資料,而且教程將知識(shí)講的非常的簡(jiǎn)練和精確,但可惜該教程是在2002年左右發(fā)表的了,在網(wǎng)上資源不是很好找而且比較散,所以我決定將我學(xué)的每趟講座的精要和我個(gè)人的讀書(shū)筆記整理出來(lái)形成一個(gè)連載,一來(lái)鞏固我的學(xué)習(xí),二來(lái)也可以供大家參考,取名《XML精要》。言歸正傳,那我就開(kāi)始嘍  閱讀全文

    posted @ 2006-10-29 22:54 銀河海盜 閱讀(339) | 評(píng)論 (1)編輯 收藏
    javaScript的基礎(chǔ)知識(shí)筆記《一》

    一:語(yǔ)法結(jié)構(gòu):

    ?????? 嵌入 *.js 文件 <script? language=”javScript” src=”url ”></script>

    1.? 定義結(jié)構(gòu):

    a)???????? 變量定義: var xx = “xx” 無(wú)須匹配類(lèi)型;

    b)??????? 函數(shù)定義: function method(x , y){…} 參數(shù)同樣不用匹配類(lèi)型;

    可以通過(guò) arguments.length 屬性來(lái)確定參數(shù)個(gè)數(shù)來(lái)創(chuàng)建不確定參數(shù)的函數(shù)如:

    ??? function noArguments(){

    ????????????? var len = arguments.length;

    ????????????? for(var i=0;i<len;i++){

    ????????????? ????????????? var fristArgument = noArguments.arguments[i];

    ??????????????????????????? ………// 通過(guò) ? noArguments.arguments[i] 獲得參數(shù);

    }

    }

    c)??????? 對(duì)象定義:

    定義方式一 ? function obj(x,y){

    ?????? this.x=x;

    ?????? this.y=y;

    ?????? this.m1=method1;

    ?????? this.m2=method2;

    ?????? function method1(){…..}

    function method2(){…..}

    }

    定義方式二 ? function obj(x,y){

    ?????? this.x=x;

    ?????? this.y=y;

    ?????? this.m1=function method1(){……}

    ?????? this.m2=function method2(){……}

    }

    d)??????? 使用對(duì)象:

    var obj1 = new obj();

    var new_x = obj.x; // 是用屬性的方式 1

    var new_y = obj[‘y’]; // 是用屬性的方式 2

    內(nèi)置對(duì)象:

    ?????? a) 數(shù)組對(duì)象( Array ):

    ???????????????????? var newArry =new Arry(n);

    ???????????????????? var newArry =new Arry(“one”,”two”,”there”,”four”);

    ?????? 注:屬性和方法不再列出。

    ??????

    b) 字符串對(duì)象( String ):

    ???????????????????? var newStr =”xxx”;

    ???????????????????? var newStr=new String(“xxx”);

    ?????? 對(duì)字符串的比較直接使用 ”= =”

    ??????

    ?????? c) 數(shù)學(xué)對(duì)象( Math

    ????????????? 注意:使用數(shù)學(xué)對(duì)象時(shí)不需要?jiǎng)?chuàng)建該對(duì)象,直接使用即可;

    ????????????? 例如: Math.PI; // 屬性的使用

    Math.abs(x);// 方法的使用;

    d) 日期對(duì)象( Date

    ??????? var date1 =new Date();

    ????????????? var date2 =new Date(“ 日期子串 ”);

    ????????????? var date3 =new Date( 年,月,日, [ 時(shí),分,秒,毫秒 ]);

    ????????????? var date4 =new Date( 毫秒 );

    ?

    posted @ 2006-09-26 11:29 銀河海盜 閱讀(281) | 評(píng)論 (0)編輯 收藏
    解決jsp+MysQL輸入和輸出中文亂碼的方法!

    當(dāng)使用JSP頁(yè)面將中文數(shù)據(jù)添加到MySql數(shù)據(jù)庫(kù)中的時(shí)候發(fā)現(xiàn)變?yōu)閬y碼,或者從mysql中讀取中文的時(shí)候出現(xiàn)亂碼,這些問(wèn)題根源都是由于字符編碼不一致造成的。要知道病源是什么我們才能對(duì)癥下藥,所以我將問(wèn)題產(chǎn)生的過(guò)程簡(jiǎn)單描述一下(如有不對(duì)望高人賜教)
    ?我們以一個(gè)從form表單讀取數(shù)據(jù)并寫(xiě)入mysql數(shù)據(jù)庫(kù)的例子來(lái)講解;

    HTML頁(yè)面參數(shù)—(以瀏覽器的編碼方式發(fā)送)—》JSP頁(yè)面—(以JSP定義的編碼方式被編譯)—》被JSP引擎編譯為*.class文件——》在JSP容器中運(yùn)行——》傳遞給Mysql數(shù)據(jù)庫(kù)—(以數(shù)據(jù)庫(kù)的編碼方式讀取數(shù)據(jù)并存儲(chǔ))—》讀取Mysql—(以數(shù)據(jù)庫(kù)的編碼方式讀取)—》JSP頁(yè)面接受后在瀏覽器中顯示(以瀏覽器編碼方式解碼顯示);

    注意:這里的“瀏覽器編碼”“JSP頁(yè)面編碼”“JSP頁(yè)面輸出編碼”“JSP頁(yè)面輸入編碼”“數(shù)據(jù)庫(kù)的編碼”可能存在潛在的不一直,當(dāng)它們中的任意一個(gè)不相同的時(shí)候就會(huì)出現(xiàn)亂碼;就好像傳話游戲一樣,張三要把話傳給李四,李四把他聽(tīng)到的傳給王五,要讓王五知道張三說(shuō)的什么就需要他們?nèi)齻€(gè)人使用的相同語(yǔ)言,如果李四是個(gè)火星人,他當(dāng)然聽(tīng)不懂張三說(shuō)什么,然后他還不厚道的對(duì)王五說(shuō)火星話(亂碼),結(jié)果王五就只能聽(tīng)到亂碼了。(比喻比較汗~~^_^!)

    好了,現(xiàn)在我們就依次把各個(gè)編碼方式改為相同就可以了;
    //-------------------------瀏覽器編碼-----------------
    <html>
    ? <head><meta http-equiv="Content-Type" content="text/html; charset=GB2312"></head>
    </html>
    //---------------------------JSP頁(yè)面-------------------
    <%@ page pageEncoding="GB2312"%>??????????????????????????? //JSP頁(yè)面編碼:
    <%@ page contentType="text/html;charset=gb2312"%>????//JSP頁(yè)面輸出編碼:
    <% request.setCharacterEncoding("gb2312");?%>?????????????? //JSP頁(yè)面輸入編碼:
    //------------------------MySql編碼-------------------
    Connection connect = java.sql.DriverManager.getConnection(
    "jdbc:mysql://localhost/mydb?user=登陸帳號(hào)&password=你的密碼&useUnicode=true&characterEncoding=gb2312");

    //-------------------------------------------------------
    注意:gb2312的寫(xiě)法(紅色部分) 在瀏覽器和數(shù)據(jù)庫(kù)中的寫(xiě)法要區(qū)分!
    以上配置測(cè)試成功!(tomcat5.5+MySql5.0)
    //另外看了網(wǎng)上的很多文章,比如通過(guò)函數(shù)轉(zhuǎn)碼啊~~改配置文件啊~~都不如這樣來(lái)的簡(jiǎn)便且成功率高!
    推薦!

    posted @ 2006-09-24 11:24 銀河海盜 閱讀(1583) | 評(píng)論 (0)編輯 收藏
    使用JSP連接MySql數(shù)據(jù)庫(kù)讀取HTML表單數(shù)據(jù)進(jìn)行存貯

    運(yùn)行環(huán)境 tomcat5.5+MySql5.0
    編寫(xiě)一個(gè)簡(jiǎn)單的HTML表單:

    <html>
    ????
    <head>
    ????
    </head>
    ????
    <body>
    ????????
    <form?action="http://127.0.0.1/test/login.jsp"?method="post">
    ????????????????學(xué)號(hào):
    <input?type="text"?name="id"><br>
    ????????????????姓名:
    <input?type="text"?name="name"><br>
    ????????????????
    <label>
    ??????
    <input?type="radio"?name="sex"?value="boy"?checked>
    ????????????男
    </label>
    ??????
    <label>
    ??????
    <input?type="radio"?name="sex"?value="girl">
    ????????????女
    </label><br>
    ????????????????電話:
    <input?type="text"?name="tel"><br>
    ????????????????
    <input?type="submit"?value="提交">
    ????????????????
    <input?type="reset"?value="重填">
    ????????
    </form>
    ????
    </body>
    </html>
    接這編寫(xiě)一個(gè)JSP文件用于讀取表單數(shù)據(jù)
    Connection?conn?=?null;
    Class.forName(
    "com.mysql.jdbc.Driver").newInstance();
    conn?
    =?java.sql.DriverManager.getConnection("jdbc:mysql://localhost/mydb","root","corsair");
    if(conn==null){
    System.out.println(
    "get?Conn?Error");
    }

    Statement?stmt
    =conn.createStatement();
    ResultSet?rs
    =null;
    %>
    <%
    ????String?id,name,sex,tel;
    ????id
    =request.getParameter("id");
    ????name
    =request.getParameter("name");
    ????sex
    =request.getParameter("sex");
    ????tel
    =request.getParameter("tel");
    ????
    try{
    ????stmt.executeUpdate(
    "INSERT?INTO?inf_student(id,name,sex,tel)?VALUES?('"+id+"','"+name+"','"+sex+"','"+tel+"')");
    ????}
    catch(SQLException?e){}
    stmt.close();
    conn.close();
    %>
    將以上文件保存在tomcat5.5的webapps目錄下;然后啟動(dòng)tomcat5.5和mysql數(shù)據(jù)庫(kù),最后打開(kāi)表單,插入數(shù)據(jù)提交,并可以mysqlQueryBrower查看到插入數(shù)據(jù)的情況了。

    posted @ 2006-09-15 15:42 銀河海盜 閱讀(2323) | 評(píng)論 (4)編輯 收藏
    JSP語(yǔ)法

    <%@ %>指令塊。定義JSP文件的全局屬性,該指令不能作用動(dòng)態(tài)包含文件;

    ?

    <%@ page

    ??? language="java"

    ??? extends="指定父類(lèi)"

    ??? import="導(dǎo)入JAVA類(lèi)" ??

    ??? session="false||true是否使用session對(duì)象"

    ??? buffer="定義緩沖區(qū)大小默認(rèn)8kb"

    ??? autoFlush="false||true自動(dòng)清除緩沖區(qū)"

    ??? isThreadSafe="false||true是否處理多請(qǐng)求"

    ??? info="定義相關(guān)信息.txt"

    ??? errorPage="url指定錯(cuò)誤頁(yè)"

    ??? contentType="編碼方式"

    ??? isErroPage="false||true是否為處理異常頁(yè)"

    %>?

    ?

    <%@ include file ="URL指定要包含的另外一個(gè)JSP文件,*.jspf,*.htmlf"%>

    <%@ taglib uri ="" prefix=""%>

    ?

    常用的JSP動(dòng)作元素

    1

    ??? <jsp:useBean

    ??????? id="指定該bean對(duì)象名"

    ??????? scope="page||request||session||application bean的作用域"

    ??????? class="bean的class文件名,注意不能與beanName屬性一起使用"

    ??????? beanName="*.class或*.ser或bean包的名字,緊當(dāng)bean不存在于指定???????????? 的作用域時(shí)才使用 "

    ??????? type="與class或beanName一起使用,指定要實(shí)例化的bean的類(lèi)或接口"

    ??? >

    ??? <jsp:setProperty name="" property="" value="">實(shí)例話bean的初始特性值。

    ??? </jsp:/useBean>

    2??

    ??? <jsp:setProperty

    ??????? name="對(duì)應(yīng)<jsp:useBean>中的id"

    ??????? property="*||bean屬性名 通過(guò)request參數(shù)設(shè)定bean屬性值"

    ??????? value="為bean屬性值指定值,需要指定bean屬性名"

    ??? />

    ?

    3??

    ??? <jsp:getProperty

    ??????? name="對(duì)應(yīng)<jsp:useBean>中的id"

    ??????? property="對(duì)應(yīng)想要獲得的屬性值名"

    ??? />

    4

    ??? <jsp:include>

    ??????? page="要包含文件的相對(duì)地址"

    ??????? flush="true||false 是否清空緩沖區(qū)"

    ??????? <jsp:param name="" value="" 可以傳遞一個(gè)參數(shù)/>

    ??? </jsp:include>

    5

    ??? <jsp:forward page="URL或者一個(gè)表達(dá)式,用于將請(qǐng)求的頁(yè)面轉(zhuǎn)向其他頁(yè)面">

    ??????? <jsp:param name="" value="">可以傳遞參數(shù);

    ??? </jsp:forward>

    6??

    ??? <jsp:param name="" value="">

    <%! %> 變量和方法聲明塊,要使用“;”結(jié)尾

    <%? %> 腳本塊 可以聲明局部變量 但是不能定義方法!

    <%= %> 表達(dá)式 注意內(nèi)部不能使用“;”

    posted @ 2006-09-14 11:24 銀河海盜 閱讀(284) | 評(píng)論 (0)編輯 收藏
    雙網(wǎng)卡實(shí)現(xiàn)兩臺(tái)電腦共享上網(wǎng)經(jīng)驗(yàn)筆記

    硬件情況:
    ??????兩臺(tái)電腦均使用windowsxp-sp2;
    ??????兩臺(tái)電腦均有板載網(wǎng)卡。一臺(tái)使用升技NF7-S2主板,一臺(tái)用的技嘉威盛芯片組的小板(好像叫 8V800M2)
    ?????? 單獨(dú)購(gòu)買(mǎi)一個(gè)tp-link的8139網(wǎng)卡。購(gòu)價(jià)24元(嘿嘿。JS想宰我,結(jié)果與其打心理戰(zhàn)!最終JS陰謀落敗!哈哈)
    ??????一根雙機(jī)對(duì)聯(lián)的雙絞線。注意排線(橙藍(lán)綠棕)(綠藍(lán)橙棕);
    ????1:??其中一臺(tái)正確接入internet;(由于使用升技NF7-S2主板的電腦一旦雙網(wǎng)卡就會(huì)重起,所以不敢使用)并安裝雙網(wǎng)卡,使用獨(dú)立網(wǎng)卡接入internet,另外板載網(wǎng)卡與另一臺(tái)電腦相連;
    ?????2:在主機(jī)上(就是有雙網(wǎng)卡的那臺(tái))創(chuàng)建一個(gè)internet連接.
    ?????3:?? 將與internet相連的哪個(gè)本地連接A的tcp/ip設(shè)置為自動(dòng)獲得;將剛創(chuàng)建的哪個(gè)internet連接共享出來(lái)(屬性--》高級(jí)--》全打鉤--》家庭網(wǎng)絡(luò)連接選與另外一太電腦相連的那個(gè)本地連接B)再把B連接的ip地址設(shè)置為192.168.0.1? 掩碼255.255.255.0? 。
    ???? 4:最后把客戶機(jī)的ip設(shè)置為192.168.0.2? 掩碼255.255.255.0?網(wǎng)關(guān):192.168.0.1 DNS:192.168.0.1
    好了!把主機(jī)上網(wǎng),這樣就實(shí)現(xiàn)了雙機(jī)共享上網(wǎng)了!


    ????
    ??????

    posted @ 2006-09-01 18:31 銀河海盜 閱讀(1229) | 評(píng)論 (0)編輯 收藏
    成功安裝LINUX(kubentu)+windowxp雙系統(tǒng)過(guò)程

    很久以前就對(duì) linux 很好奇,于是在網(wǎng)上查了很多的發(fā)行版,最后互相比較之后最終選擇了 kubentu 這是基于 Dibean LINUX 發(fā)行版本,由于它的軟件包很豐富,而且采用的 KDE 桌面環(huán)境也和 WINDOWS 比較像(而且漂亮很多),在網(wǎng)上的評(píng)價(jià)也很不錯(cuò),于是下載刻盤(pán)。我安裝的版本是 kubentu6.06 ,我的 winXP-sp2

    80G 的分區(qū)如下:

    主分區(qū):

    ????????????? C 4G??? fat32? 安裝 windowXP 系統(tǒng) ?

    擴(kuò)展分區(qū):

    D 15G ?ntfs? 安裝軟件

    E 35G ntfs 存放視頻

    F 6G? fat32 我的工作目錄

    G 5G??? fat32 存放備份

    Linux 主分區(qū): 8G??????? ext3 掛載根文件系統(tǒng)

    Swap:512MB???????? 交換分區(qū)

    順便說(shuō)明一點(diǎn):我用的分區(qū)軟件是 PartitionMagic 漢化版;還有一個(gè) hand disk manager6.0 也非常好用。可以將你硬盤(pán)中的空閑空間合并起來(lái)形成一個(gè)新的分區(qū);具體使用方法可以參考軟件的幫助文件;要注意的是將 LINUX 的分區(qū)劃為一個(gè)主分區(qū),如果劃為擴(kuò)展邏輯分區(qū)不知道行的通不。保險(xiǎn)起見(jiàn)還是劃為主分區(qū)了;

    在使用 PartitionMagic 漢化版時(shí),這個(gè)軟件有個(gè)向?qū)椭惆惭b雙系統(tǒng)比如 widow+linux 但在最后一步中它會(huì)提示你要將你新劃出的 LINUX 分區(qū)設(shè)置為激活狀態(tài),但同時(shí)也說(shuō)如果沒(méi)有馬上安裝 LINUX 的話會(huì)導(dǎo)致 WINDOWS 不可引導(dǎo)。當(dāng)時(shí)我也很在意這句話也上網(wǎng)查了很多資料但是都沒(méi)有說(shuō)明這個(gè)問(wèn)題(是否需要激活);由于不想冒風(fēng)險(xiǎn)于是還是決定不將它設(shè)置為激活,事實(shí)證明這樣是對(duì)的;呵呵。

    第一步 :正常安裝 WINDOWXP 不用多說(shuō),如果你本來(lái)就有 windows 系統(tǒng)就往下繼續(xù)

    第二步 :設(shè)置 BIOS 從光驅(qū)啟動(dòng),然后放入 kubentu 的光盤(pán)(注意刻盤(pán)的時(shí)候要將不要科成數(shù)據(jù)光盤(pán)否者是不能引導(dǎo)的,從網(wǎng)上下載鏡像文件然后從鏡像復(fù)制光盤(pán))

    第三步 :正常引導(dǎo)以后選擇第一個(gè)選項(xiàng);這里要注意,如果你要安裝簡(jiǎn)體中文版的系統(tǒng)需要現(xiàn)在選者 language 為簡(jiǎn)體中文,如果安裝英文版的就直接選擇第一項(xiàng)就可以了;如果現(xiàn)在不選擇語(yǔ)言等引導(dǎo)進(jìn)入系統(tǒng)后再選擇簡(jiǎn)體中文就會(huì)是亂碼了,這里要注意;

    第四步 :進(jìn)入系統(tǒng),選擇安裝,進(jìn)入之后依次設(shè)置時(shí)區(qū)(上海)語(yǔ)言(簡(jiǎn)體中文)鍵盤(pán)(標(biāo)準(zhǔn)美式鍵盤(pán))等屬性。

    第五步 :也是最關(guān)鍵的一步,選擇手動(dòng)編輯分區(qū)表,這時(shí)候回列出現(xiàn)在的分區(qū)信息,選擇你已經(jīng) l 劃分好的 inux 分區(qū)并記錄好這個(gè)分區(qū)的名字(一般是 hda?—“?” 代表數(shù)字)點(diǎn)下一步,選擇剛才的 had? 哪個(gè)分區(qū),然后在最左邊的下拉列表中選擇 ”/”j 即根文件系統(tǒng),注意在最右邊有一列單選按鈕提示是否要重新格式劃對(duì)應(yīng)的分區(qū),如果你不想你硬盤(pán)其他分區(qū)的數(shù)據(jù)不想被破壞的話幾千萬(wàn)不要選擇!好了點(diǎn)下一步:這時(shí)候有個(gè)戲劇性的場(chǎng)面會(huì)出現(xiàn),安裝程序會(huì)提示你一段警告英文,大體意思是說(shuō):“如果繼續(xù)的話你的硬盤(pán)所有的分區(qū)的數(shù)據(jù)將被摧毀!請(qǐng)確認(rèn)做好備份……”當(dāng)時(shí)我就被這段話給嚇住了 ~~ 提心吊膽了好久也不敢點(diǎn)下一步,經(jīng)過(guò)了幾個(gè)月的思想斗爭(zhēng)后終于決定點(diǎn)下一步了……其結(jié)果可想而知!原來(lái)確實(shí)是虛驚一場(chǎng)!!安裝程序給我開(kāi)了一個(gè)天大的玩笑。同志們?nèi)绻_認(rèn)前面的事情都做好了就放心的點(diǎn)下一步吧!

    好了 ~~ 以后的安裝完全不用擔(dān)心了。它回自動(dòng)識(shí)別你的硬件和 windowsxp 系統(tǒng),好了完成,這時(shí)候?qū)⒐獗P(pán)拿出重起,你就會(huì)看到雙啟動(dòng)菜單!

    posted @ 2006-08-20 23:25 銀河海盜 閱讀(963) | 評(píng)論 (0)編輯 收藏
    關(guān)于tomcat5.5+Eclipse3.1+lomboz3.1的配置

    很久前就試過(guò),但是沒(méi)有成功。想起來(lái)主要是些細(xì)節(jié)問(wèn)題沒(méi)有搞清楚。現(xiàn)在準(zhǔn)備開(kāi)始學(xué)習(xí) JSP 所以再一次配置,在網(wǎng)上查了很多文章一一的試驗(yàn),可是每篇文章要不是不全面,要么就是對(duì)應(yīng)軟件版本太久和現(xiàn)在版本有很多差別,可惜沒(méi)有一篇能夠完全清晰的告訴一個(gè)初學(xué)者該如何配置的文章 , 好不容易東看看西看看總算成功運(yùn)行了,為了讓像我一樣的初學(xué)者在不懂太多術(shù)語(yǔ)的基礎(chǔ)上也能成功配置,節(jié)省時(shí)間來(lái)開(kāi)始學(xué)習(xí)。我就將完整細(xì)致的寫(xiě)下來(lái)。

    軟件準(zhǔn)備: ( 我使用的是 WINDOWSXP SP2)

    ?????? //------JDK5.0------

    ?????? jdk-1_5_0-windows-i586.exe

    ?????? //------JSP 容器 ----

    ?????? apache-tomcat-5.5.16.zip

    tomcatPluginV31.zip

    //------j2ee 插件 -----

    ?????? lomboz-eclipse-emf-gef-jem-3.1RC1.zip

    ?????? //-----------IDE-----------

    eclipse-platform-3.2-win32.zip

    //-----------JAVA 開(kāi)發(fā)插件

    eclipse-JDT-3.1zip

    //----------- 語(yǔ)言漢化包 ------

    NLpack1-eclipse-JDT-3.1.zipNLpack1-eclipse-platform-3.1-win32.zip

    這些插件和軟件都是在官方網(wǎng)站上下載的,不知道地址的同學(xué)可以搜索一下就可以了。我就不浪費(fèi)口水了。在進(jìn)行以下安裝之前要先安裝 JDK ,一路下一步即可。完成后設(shè)置三個(gè)環(huán)境變量(如果原來(lái)系統(tǒng)有就不要添加了) JAVA_HOME(jdk 安裝目錄 )PATH(jdk 安裝目錄下的 BIN 目錄 )CLASSPATH( 類(lèi)文件目錄,記到前面加個(gè) .; ?)

    ?????? 第一步:安裝 eclipse3.1

    直接解壓 eclipse-platform-3.2-win32.zip 到一個(gè)目錄下,建議目錄名路徑名之間不要有空格和漢字(原因我也不太說(shuō)的清楚),好了之后再解壓 eclipse-JDT-3.1zip 到同一目錄中,注意要直接覆蓋而不要將解壓后的內(nèi)容放在 eclipse 目錄下,完成之后用同樣的方法解壓后面兩個(gè)漢化包覆蓋 eclipse 目錄。

    ?????? 第二步:安裝 tomcat

    apache-tomcat-5.5.16.zip 直接解壓到一個(gè)目錄即可,完成之后建立一個(gè)系統(tǒng)環(huán)境變量叫 TOMCAT_HOME 并把值設(shè)置為剛才 tomcat 的安裝目錄 ;

    第三步:安裝 tomcatPluginV31.zip

    ????????????? 將它解壓后的文件夾拷貝到 X:\....\eclipse\plugins 文件夾下面即可;

    ?????? 第四步:安裝 lomboz

    ????????????? 安裝漢化包插件一樣,直接解壓覆蓋原來(lái)的 eclipse 目錄即可;

    ?????? 好了,安裝完成了!現(xiàn)在開(kāi)始配置了:

    ?????? 需要配置的地方用圖片表示:大家照這改就可以了!(注意安裝目錄要使用你實(shí)際安裝的目錄不要照到抄哈!)
    ???圖片在http://corsair.java.photo.163.com 的work目錄下。

    posted @ 2006-08-09 00:15 銀河海盜 閱讀(941) | 評(píng)論 (0)編輯 收藏
    關(guān)于javaScript中對(duì)事件捕捉的代碼組織

    關(guān)于javaScript中對(duì)事件捕捉的代碼組織方法:
    有以下的3種,第一種又有3種類(lèi)型;具體如下:

    ?

    <!-- @1編寫(xiě)事件處理程序的格式1. 1 -->
    < html >
    ????
    < head >
    ????????
    < script > ?
    // 在這里編寫(xiě)事件執(zhí)行代碼段
    ???????????????? function ?getEvent() {
    ????????????????????????window.event.returnValue
    = false ;
    ????????????????????}
    ????
    ????????
    </ script >
    ????
    </ head >
    // 在這里編寫(xiě)指定捕獲事件時(shí)要執(zhí)行的方法名
    ???? < body?oncontextmenu = getEvent(); > ????????????????
    ????
    </ body >
    </ html >

    <!-- @1編寫(xiě)事件處理程序的格式1. 2 -->
    < html >
    ????
    < head >
    ????????
    < script > ?
    // 在這里直接寫(xiě)return
    ???????????????? function ?getEvent() {
    ????????????????????????
    return ? false ;
    ????????????????????}
    ????
    ????????
    </ script >
    ????
    </ head >
    // 在這里直接retrun要方法名?注意這里必須使用""不然將導(dǎo)致錯(cuò)誤!
    ???? < body?oncontextmenu = " return?getEvent() " > ????????????????
    ????
    </ body >
    </ html >


    <!-- @1編寫(xiě)事件處理程序的格式1. 3 -->
    < html >
    ????
    < head >
    ????
    </ head >
    // 在這里直接返回要使用的結(jié)果
    ???? < body?oncontextmenu = " return?false " > ????????????????
    ????
    </ body >
    </ html >

    <!-- @1編寫(xiě)事件處理程序的格式2. 1 -->
    <!-- 直接在 < script > 標(biāo)簽對(duì)中設(shè)置設(shè)置元素對(duì)象事件屬性 -->
    < script >
    ????document.oncontextmenu
    = getEvent;
    ????
    function ?getEvent() {
    ????????????
    return ? false ;
    ????????}
    ????
    </ script >

    <!-- @1編寫(xiě)事件處理程序的格式3. 1 -->
    <!-- 在一個(gè)專(zhuān)門(mén) < script > 塊中編寫(xiě)指定事件的處理代碼 -->
    < script? for = document?event = oncontextmenu >
    ????????????????window.event.returnValue
    = false ;
    </ script >

    posted @ 2006-07-30 14:40 銀河海盜 閱讀(315) | 評(píng)論 (0)編輯 收藏
    關(guān)于學(xué)習(xí)javaScript基礎(chǔ)概念后寫(xiě)的示例代碼

    < script >
    ?@1?函數(shù)定義
    function?method(){
    ????????????var?str="";
    ????????????for(var?i=1;i<arguments.length;i++){
    ????????????????????str+=arguments[i]
    ????????????????}
    ????????????alert(str);
    ????}
    method(1,2,3,4,5,6,7,8);
    ----------------

    @2?隨機(jī)函數(shù)
    var?method=new?Function("x","y","var?sum=0;sum=x+y;return?sum;");
    alert(method(1,2));
    ----------------

    @3?對(duì)象定義
    function?obj(){}
    var?obj1=new?obj();
    obj1.name="corsiar";
    obj1.age=22;
    function?method(x,y){
    ????????????return?x+y;
    ????}
    obj1.add=method;
    alert(obj1["name"]);
    alert(obj1.age);
    alert(obj1.add(1,2));
    ----------------

    @4?對(duì)象的定義2
    function?hero(name?,hp,mp){
    ????????????this.name=name;
    ????????????this.hp=hp;
    ????????????this.mp=mp;
    ????????????this.s1=show1;
    ????????????this.s2=show2;
    ????}
    function?show1(){
    ????????????alert(this.hp+100);
    ????}
    function?show2(){
    ????????????alert(this.mp+100);
    ????}
    var?corsair=new?hero("corsair",100,300);
    ????????alert(corsair.hp);
    ????????alert(corsair.mp);
    ????????corsair.s1();
    ????????corsair.s2();
    ?

    ?@5?關(guān)于對(duì)象中with(對(duì)象名){}和for(變量in對(duì)象名){}的用法;
    function?person(name,age,sex,tel){
    ????????????this.name=name;
    ????????????this.age=age;
    ????????????this.sex=sex;
    ????????????this.tel=tel;
    ????}
    function?show(){
    ????????????alert(this.name);
    ????????????alert(this.sex);
    ????????????alert(this.tel);
    ????}
    var?p1=new?person("corsair","22","boy","13778519215");
    with(p1){
    ????????????var?str="";
    ????????????str+=name+"?";
    ????????????str+=age+"?";
    ????????????str+=sex+"?";
    ????????????str+=tel+"?";
    ????}
    alert(str);
    var?tmp,temp="";
    for(tmp?in?p1){
    ????????temp+=p1;
    ????}
    alert(str);
    ?

    </script>

    posted @ 2006-07-29 00:56 銀河海盜 閱讀(322) | 評(píng)論 (0)編輯 收藏
    學(xué)習(xí)SWING頭一遭!

    發(fā)現(xiàn) swing 中對(duì)控件的布局很麻煩,要想整個(gè)好看的界面確實(shí)是件煩人的事情,我做了一個(gè)簡(jiǎn)單的界面,代碼如下:

    ?

    package ?gui;

    import ?java.awt.BorderLayout;
    import ?java.awt.GridLayout;
    import ?javax.swing.JButton;
    import ?javax.swing.JFrame;
    import ?javax.swing.JLabel;
    import ?javax.swing.JPanel;
    import ?javax.swing.JTextField;
    import ?javax.swing.JToolBar;
    public ? class ?UserGui? extends ?JFrame?{?
    ????
    static ? final ? long ?serialVersionUID? = ? 1 ;
    ????JPanel?infBar;
    ????JButton[]?button?
    = ? new ?JButton[ 6 ];
    ????JToolBar?tb;
    ????
    // ?----------
    ????JLabel?idL? = ? new ?JLabel( " 工號(hào): " );
    ????JLabel?nameL?
    = ? new ?JLabel( " 姓名: " );
    ????JLabel?moneyL?
    = ? new ?JLabel( " 學(xué)歷: " );
    ????JLabel?workL?
    = ? new ?JLabel( " 職稱(chēng): " );
    ????JTextField?idT?
    = ? new ?JTextField( 22 );
    ????JTextField?nameT?
    = ? new ?JTextField( 22 );
    ????JTextField?moneyT?
    = ? new ?JTextField( 22 );
    ????JTextField?workT?
    = ? new ?JTextField( 22 );
    ????
    // ?--------------------------------
    ???? public ?UserGui(String?name)?{
    ????????
    super (name);
    ????????setLayout(
    new ?BorderLayout());
    ????????setDefaultCloseOperation(EXIT_ON_CLOSE);
    ????????setSize(
    290 ,? 200 );
    ????????setResizable(
    false );
    ????????setToolBar();
    ????????setInfBar();
    ????????add(infBar,?BorderLayout.CENTER);
    ????????add(tb,?BorderLayout.NORTH);
    ????????setVisible(
    true );
    ????}
    ????
    // ?--------------------------------
    ???? public ? void ?setToolBar()?{
    ????????tb?
    = ? new ?JToolBar();
    ????????tb.setFloatable(
    false );
    ????????String[]?t1?
    = ?{? " 查詢 " ,? " 添加 " ,? " 修改 " ,? " 刪除 " ,? " 應(yīng)用更改 " ,? " 退出系統(tǒng) " ?};
    ????????
    for ?( int ?i? = ? 0 ;?i? < ? 6 ;?i ++ )?{
    ????????????button[i]?
    = ? new ?JButton(t1[i]);
    ????????????tb.add(button[i]);
    ????????}
    ????}
    ????
    public ? void ?setInfBar()?{
    ????????infBar?
    = ? new ?JPanel();
    ????????infBar.setLayout(
    new ?BorderLayout());
    ????????JPanel?left?
    = ? new ?JPanel();
    ????????left.setLayout(
    new ?GridLayout( 4 ,? 1 ));
    ????????JPanel?right?
    = ? new ?JPanel();
    ????????right.setLayout(
    new ?GridLayout( 4 ,? 1 ));
    ????????infBar.add(left,?BorderLayout.WEST);
    ????????infBar.add(right,?BorderLayout.EAST);
    ????????left.add(idL);
    ????????left.add(nameL);
    ????????left.add(moneyL);
    ????????left.add(workL);
    ????????right.add(idT);
    ????????right.add(nameT);
    ????????right.add(moneyT);
    ????????right.add(workT);
    ????}
    ????
    // ?--------------------------------
    ???? public ? static ? void ?main(String[]?args)?{
    ????????UserGui?ug?
    = ? new ?UserGui( " 人事檔案管理系統(tǒng)界面 " );
    ????}????
    }

    posted @ 2006-07-08 00:37 銀河海盜 閱讀(328) | 評(píng)論 (0)編輯 收藏
    主站蜘蛛池模板: 免费一级特黄特色大片在线| 久久青草国产免费观看| 免费无码精品黄AV电影| 亚洲最大黄色网站| 国产在线jyzzjyzz免费麻豆 | 成人免费视频88| 亚洲熟女精品中文字幕| 青草草在线视频永久免费| 亚洲色偷偷综合亚洲av78 | 亚洲欧美日韩综合俺去了| 最新中文字幕免费视频| 亚洲国产精品久久久久秋霞小| 国产高清免费在线| 亚洲av无码成人精品国产 | 久久综合亚洲鲁鲁五月天| 19禁啪啪无遮挡免费网站| 亚洲性无码av在线| 午夜私人影院免费体验区| 国产亚洲日韩在线a不卡| JLZZJLZZ亚洲乱熟无码| 美女在线视频观看影院免费天天看| 亚洲AV无码1区2区久久| 久久国产免费福利永久| 亚洲av色香蕉一区二区三区| 亚洲国产精品成人一区| 午夜不卡久久精品无码免费| 亚洲免费视频网址| 日韩精品电影一区亚洲| 久久免费线看线看| 亚洲熟女精品中文字幕| 国产午夜亚洲精品午夜鲁丝片 | 最新国产乱人伦偷精品免费网站 | www.黄色免费网站| 成人福利在线观看免费视频| 亚洲va在线va天堂va888www| 久久久久久久久免费看无码| 国产成人精品免费视频大全| 亚洲成人一级电影| 老司机亚洲精品影视www| 黄网站色在线视频免费观看| 一级黄色免费毛片|