摘 要 在Java語言的學(xué)習(xí)中,初學(xué)者為了進(jìn)一步提高的編程能力,窗體的編寫實(shí)現(xiàn)與實(shí)際文件直接的交換運(yùn)作編寫是必學(xué)之路。首先我們需要熟悉awt類和swing類的基本屬性和方法,方便我們在編寫程序時(shí)候合理調(diào)用。熟悉implements接口和類繼承調(diào)用,具體過程看正文。
關(guān)鍵詞 Java 瀏覽器 圖片 圖片瀏覽器
一、對線程的理解
同個(gè)應(yīng)用中,多個(gè)任務(wù)同時(shí)進(jìn)行。就像QQ聊天應(yīng)用一樣,每打開一個(gè)聊天窗口就啟動(dòng)了一個(gè)線程。線程可以有多個(gè),但CPU每時(shí)每刻只做一件事。但是由于cpu處理速度很快,在極短的時(shí)間內(nèi),CPU在多線程快速跳轉(zhuǎn)處理,我們就感覺是同時(shí)進(jìn)行的。所以宏觀上,線程時(shí)并發(fā)進(jìn)行的;從微觀角度看,線程是異步執(zhí)行的。使用線程的目的是最大限度的利用CPU資源。想想QQ聊天的時(shí)候,如果沒有多線程,一個(gè)人的信息沒有發(fā)完另一個(gè)人的信息發(fā)不過來,會(huì)是什么情況。在java中要想實(shí)現(xiàn)多線程,有兩種手段,一種是繼續(xù)Thread類,另外一種是實(shí)現(xiàn)Runable接口。這里瀏覽器的整體構(gòu)造分為上下兩個(gè)場景,上面是顯示圖片的主要場景,下面是放置按鈕的次要場景。共有7個(gè)主要按鈕原件,分別是選擇圖片,上一張,下一張,順序播放,循環(huán)播放,暫停和另存為。
二、具體實(shí)現(xiàn)方法
首先要寫一個(gè)公共類,接口監(jiān)聽事件,寫私有定義private JFrame 窗體和private MyCanvas mc 的空白矩形區(qū)域,應(yīng)用程序可以在該區(qū)域內(nèi)繪圖,或者可以從該區(qū)域捕獲用戶的輸入事件。再定義字符串private String 文件地址、文件名字;定義文件private File[] files和整型int findex用來表示圖片文件第幾張的數(shù)目。定義文件窗口FileDialog fd_load,fd_save和MyFilter filter;定義按鈕Button select,previous,next,start,restart,stop,save;最后定義時(shí)間控制器Timer timer。我們可以新建一個(gè)面板,向面板上添加我們所定義的控件。JPanel pb = new JPanel();
new ImageIcon(\"./Image/addFile.gif\");select = new JButton(\"選擇圖片\",圖);
new ImageIcon(\"./Image/Back.gif\");previous = new JButton(\"上一張\",圖);
new ImageIcon(\"./Image/Forward.gif\");next = new JButton(\"下一張\",圖);
new ImageIcon(\"./Image/play.gif\");start = new JButton(\"順序播放\",圖);
new ImageIcon(\"./Image/replay.gif\");restart = new JButton(\"循環(huán)播放\",圖);
new ImageIcon(\"./Image/pause.gif\");stop = new JButton(\"暫停\",圖);
new ImageIcon(\"./Image/save.gif\");save = new JButton (\"另存為\",圖);
添加監(jiān)聽分別用select、previous、next調(diào)用addActionListener(this)方法,然后用add()再添加他們到面板上。新建一個(gè)new MyCanvas();然后setBackground(new Color(200,210,230));來設(shè)置背景顏色。最后把面板添加在窗口中add(pb,\"South\");add(mc,\"Center\");當(dāng)然這里可以更加自己的需要修改面板的位置。FileDialog 類顯示一個(gè)對話框窗口,用戶可以從中選擇文件,之后可以用new FileDialog(窗體,\"打開文件\",F(xiàn)ileDialog.LOAD)來創(chuàng)建一個(gè)打開文件功能的對象和new FileDialog(窗體,\"另存為文件\",F(xiàn)ileDialog.SAVE)來創(chuàng)建一個(gè)另存為功能的對象,這個(gè)FileDialog 類主要是顯示一個(gè)用戶可以從中選擇文件的對話框窗口。如果需要將此文件對話框窗口的文件名過濾器設(shè)置為指定的過濾器就利用方法setFilenameFilter(filter)。最后圖片瀏覽器的瀏覽切換功能,要實(shí)現(xiàn)自動(dòng)切換,那么就要定義一個(gè)時(shí)間對象timer。通過getParent()獲得此文件對話框的目錄,通過getName()獲得此文件對話框的選定文件的名字,這里為了安全可以寫一個(gè)判斷語句判斷文件地址是否為空,display(new File(文件地址+\"\\\"+文件名字)); files = new File(文件地址).listFiles(filter)。最后運(yùn)行就可以得到一個(gè)很漂亮的圖片瀏覽界面。
參考文獻(xiàn):
[1]周旭東,王麗愛.程序設(shè)計(jì)語言實(shí)驗(yàn)教學(xué)方法探討[J].計(jì)算機(jī)時(shí)代,2011(08).
[2]劉維.Java程序設(shè)計(jì)課程的教學(xué)分析與探究[J].考試周刊, 2012(22).
[3]黃林國.高職計(jì)算機(jī)應(yīng)用基礎(chǔ)項(xiàng)目化教學(xué)改革[J].計(jì)算機(jī)教育,2011(14).
[4]魏曉艷.JAVA課程中基于工作過程的項(xiàng)目教學(xué)實(shí)踐[J].陜西國防工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2011(02).