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

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

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

    我的JAVA窩! - BlogJava

    期末實踐中......

    今天成績都出來了,結果還是比較理想的,以后會相對輕松些。

    更新日志都是半個月前的事了,當時還說以后每天都更新,真是慚愧

    這幾天都是忙考試,弄得心力憔悴,今天晚上終于閑下來,繼續寫實踐的程序。

    剛剛解決了前幾個小時的困惑,現在對JAVA的內部類機制又有了更新的認識(興奮中......),廢話少說,來看代碼:

    package tanzhang;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;

    import org.eclipse.swt.SWT;
    import org.eclipse.swt.events.SelectionAdapter;
    import org.eclipse.swt.events.SelectionEvent;
    import org.eclipse.swt.widgets.Button;
    import org.eclipse.swt.widgets.Combo;
    import org.eclipse.swt.widgets.Composite;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Label;
    import org.eclipse.swt.widgets.Shell;
    import org.eclipse.swt.widgets.TabFolder;
    import org.eclipse.swt.widgets.Table;
    import org.eclipse.swt.widgets.TableColumn;
    import org.eclipse.swt.widgets.TableItem;
    import org.eclipse.swt.widgets.Text;
    import com.swtdesigner.SWTResourceManager;
    import org.eclipse.swt.widgets.TabItem;
    public class tanzhang {

    ?/**
    ? * Launch the application
    ? * @param args
    ? */
    ?private static Table table;
    ?private static TableItem newItemTableItem;

    ?
    ?public static void main(String[] args) {
    ??final Display display = Display.getDefault();
    ??final Shell shell = new Shell();
    ??shell.setImage(SWTResourceManager.getImage(tanzhang.class, "/org/eclipse/ui/internal/forms/widgets/progress.gif"));
    ??shell.setSize(774, 514);
    ??shell.setText("宣城供電局消弧線圈臺帳");
    ............
    ............
    ............
    ??final Combo combo_1 = new Combo(composite, SWT.READ_ONLY);
    ??combo_1.addSelectionListener(new SelectionAdapter() {
    ???public void widgetSelected(SelectionEvent arg0) {
    ????String str=combo_1.getText();
    ????try{?
    ?????String dbUrl = "jdbc:odbc:test";
    ?????Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    ?????Connection conn = DriverManager.getConnection(dbUrl, "", "");
    ?????Statement stmt=conn.createStatement();
    ?????String sql="SELECT * from test where 單元名稱="+str;
    ?????ResultSet rs=stmt.executeQuery(sql);
    ?????
    ?????if(rs.next()){
    ?????for(int i=0;i<=4;i++){?????????
    ???????newItemTableItem.setText(i,rs.getString(i+1));??
    ???????}
    ?????
    ?????rs.close();
    ?????stmt.close();
    ?????conn.close();
    ?????}
    ????}catch(Exception e){}
    ????
    ???}
    ??});
    ............
    ............
    ............

    ??table = new Table(composite_1, SWT.VIRTUAL | SWT.FULL_SELECTION | SWT.BORDER | SWT.HIDE_SELECTION);

    ??table.setLinesVisible(true);
    ??table.setHeaderVisible(true);
    ??table.setBounds(0, 0, 678, 80);
    ............
    ............
    ............

    ???剛開始是用final修飾table和newItemTableItem,但是“newItemTableItem.setText(i,rs.getString(i+1));”這行(代碼中蘭色那句)會報錯,編譯器提示“無法解析newItemTableItem”。我的第一反應是監聽器的位置放得不對。翻了一下書,說SWT/JFace事件代碼中要訪問類中變量有三種方法:(1)加final;(2)將變量變為類的實例變量;(3)將事件代碼寫成命名內部類,然后通過構造函數的參數來傳入。
    ???想了想好象只有第三種方法值得試試,但是后來想起來newItemTableItem是個對象,傳入以后卻不知道怎么轉換類型,呆了...
    ???最后做了個新的程序試了試,在新程序里是成功的,就是要把newItemTableItem在main函數外申明其為private static,但是在舊的程序中,編譯器是通過了,但是進行連接數據庫查詢的時候,出現“Fatal Exception...”的錯誤,當時一下就蒙掉了!!完全一樣的,怎么會不成功。
    ???百般無奈以后,----當然之前肯定是深思熟慮----終于腦海中閃出了傳說中的“靈感”!于是馬上把table也定義為private static......OK!???勝利總是來得那么突然,那瞬間的感覺就象90分鐘打進的金球...

    ???當然到現在,我還沒找到確切的原因。只能用自己的話總結一下:(1)匿名內部類中的方法是不能訪問其他方法中定義的變量的(包括實例對象),要訪問必須在類中將其定義為static類型。(2)TableItem是Table的子控件,要定義TableItem為static也要同時把Table定義為static類型。

    ???給自己一個任務:研究JAVA的內部類機制;研究SWT中父子控件關系的機制!

    ???看看《Thinking in JAVA》或許會是個不錯的選擇,當然還有《The Definitive Guide to SWT and JFace》。

    ?

    posted on 2007-01-15 02:41 J2S 閱讀(311) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2007年1月>
    31123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆檔案

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲人成网77777色在线播放| 国产aa免费视频| 亚洲综合色丁香麻豆| 国产一精品一av一免费爽爽| 国产亚洲一区二区手机在线观看| www在线观看播放免费视频日本| 亚洲Aⅴ无码一区二区二三区软件| 白白色免费在线视频| 四虎1515hm免费国产| 一级a性色生活片久久无少妇一级婬片免费放 | 婷婷精品国产亚洲AV麻豆不片| 成人国产精品免费视频| 国产偷v国产偷v亚洲高清| 热久久这里是精品6免费观看| 亚洲男人天堂av| 中字幕视频在线永久在线观看免费| 亚洲成_人网站图片| 国产精品麻豆免费版| eeuss草民免费| 亚洲嫩模在线观看| 四虎影视免费在线| 日日狠狠久久偷偷色综合免费| 亚洲色精品88色婷婷七月丁香| 免费91最新地址永久入口 | 国产日韩精品无码区免费专区国产| 亚洲日韩一页精品发布| 99久久免费看国产精品| 久久亚洲精品国产精品婷婷| 亚洲AⅤ无码一区二区三区在线| 亚洲免费观看视频| 麻豆狠色伊人亚洲综合网站| 亚洲av无码不卡私人影院| 最近的2019免费中文字幕| 日本亚洲免费无线码| 亚洲一区二区三区乱码A| 18禁男女爽爽爽午夜网站免费| 国产精品成人亚洲| 亚洲天堂视频在线观看| 日本一区免费电影| 久操免费在线观看| 亚洲av日韩av永久无码电影|