freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

仿雷霆戰(zhàn)機——光影空戰(zhàn)_二級課題報告-文庫吧

2025-05-13 01:24 本頁面


【正文】 隔符來分隔其中的名稱。無論是抽象路徑名還是路徑名字符串,都可以是絕對 路徑名或相對 路徑名 。絕對路徑名是完整的路徑名,不需要任何其他信息就可以定位它所表示的文件。相反,相對路徑必須使用取自其他路徑名字的信息進行解釋。 默認情況下, 包中的類總是根據(jù)當前用戶目錄來解析相對路徑名。此目錄由系統(tǒng)屬性 指定,通常是 Java 虛擬機的調(diào)用目錄。調(diào)用此類的 getParent() 方法可以獲取抽象路徑名的父 路徑名,它由路徑名前綴以及路徑名名 稱序列中的每個名稱(最后一個除外)組成。對于任何具有絕對抽象路徑名的 File 對象,如果其絕對抽象路徑名以某個目錄的絕對路徑名開頭,那么該目錄的絕對路徑名是該 File 對 姓名:王彥培 課題名稱:仿雷霆戰(zhàn)機 —— 光影空戰(zhàn) 7 象的祖先。例如,抽象路徑名 /usr 表示的目錄是路徑名 /usr/local/bin 所表示目錄的一個祖先。在處理 UNIX 平臺的根目錄,以及 Microsoft Windows 平臺的盤符、根目錄和 UNC 路徑名時,將用到前綴這一概念。如下所示: 對于 UNIX 平臺,絕對路徑名的前綴始終是 /。相對路徑名沒有前綴表示根 目錄的絕對路徑名的前綴為 / 且名稱序列為空。 對于 Microsoft Windows 平臺,包含盤符的路徑名前綴由驅(qū)動器號和一個 : 組成。如果路徑名是絕對路徑名,還可能后跟 \\。 UNC 路徑名的前綴是 \\\\;主機名和共享名是名稱序列中的前兩個名稱。沒有指定驅(qū)動器的相對路徑名沒有前綴。 此類的實例可能表示(也可能不表示)實際文件系統(tǒng)對象,如文件或目錄。如果它表示這種對象,那么該對象駐留在一個分區(qū) 中。分區(qū)是文件系統(tǒng)特定于操作系統(tǒng)的存儲分區(qū)。一個存儲設(shè)備(例如,物理磁盤驅(qū)動器、閃存、 CDROM)可以包含多個分區(qū)。對象(如果有)將駐留在此路徑名(絕對形式)某個祖先指定的分區(qū)上。 文件系統(tǒng)可以實現(xiàn)對實際文件系統(tǒng)對象上的某些操作(比如,讀、寫、執(zhí)行)進行限制。這些限制統(tǒng)稱為訪問權(quán)限。文件系統(tǒng)可以對一個對象設(shè)置多個訪問權(quán)限。例如,一個設(shè)置可能適用于對象的所有者,另一個設(shè)置則可能適用于所有其他用戶。對象上的訪問權(quán)限可能導(dǎo)致此類的某些方法執(zhí)行失敗。 File 類的實例是不可變的;也就是說,一旦創(chuàng)建, File 對象表示的抽象路徑名將永不改變。 JFrame 類與 Frame 輕微不兼容。與其他所有 JFC/Swing 頂層容器一樣,JFrame 包含一個 JRootPane 作為其唯一的子容器。根據(jù)規(guī)定,根窗格所提供的內(nèi)容窗格應(yīng)該包含 JFrame 所顯示的所有非菜單組件。這不同于 AWT Frame。為了方便地使用 add 及其變體,已經(jīng)重寫了 remove 和 setLayout,以在必要時將其轉(zhuǎn)發(fā)到 contentPane。這意味著可以編寫: (child)。子級將被添加到 contentPane。內(nèi)容窗格始終是非 null 的。試圖將其設(shè)置為 null 會導(dǎo)致 JFrame 拋出異常。默認的內(nèi)容窗格上會設(shè)置有 BorderLayout 管理器。有關(guān)添加、移除和設(shè)置 JFrame 的 LayoutManager 的詳細信息,請參閱 RootPaneContainer。 與 Frame 不同,當用戶試圖關(guān)閉窗口時, JFrame 知道如何進行響應(yīng)。用戶關(guān)閉窗口時,默認的行為只是簡單地隱藏 JFrame。要更改默認的行為,可調(diào)用方法 姓名:王彥培 課題名稱:仿雷霆戰(zhàn)機 —— 光影空戰(zhàn) 8 setDefaultCloseOperation(int)。要使 JFrame 的行與 Frame 實例相同 , 請 使 用 setDefaultCloseOperation()。有關(guān)內(nèi)容窗格和根窗格提供的其他功能的更多信息,請參閱 The Java Tutorial 中的 Using TopLevel Containers 一節(jié)。在多屏幕環(huán)境中,可以在不同的屏幕設(shè)備上創(chuàng)建一個 JFrame。 在游戲源代碼中,在主類 GameMian()中首先創(chuàng)建了 JFrame 窗體類,在窗體類中又增加 KeyboarsPanel()面板類;而在構(gòu)造函數(shù)中 add()方法中調(diào)用了面板類創(chuàng)建的對象 keyboardPanel,同時還在構(gòu)造函 數(shù)中添加了音樂對象 BackMusic(),并且在該對象包括了 (newFile(“src/image/”). toURL())。同時也使用了 try—— catch()處理異常,這樣能夠保障音樂能從文件中順利播放。New File(“src/image/”)是音樂導(dǎo)入類文件。 接著介紹游戲中的第二大類 KeyboardPanel(),這個面板類就是和我們平時的容器差不多,能夠?qū)⒂螒蛑械膱D像及它們的動畫效果都在此完成 ; 表 ()面板類 KeyboardPanel()面板類 繪制圖形類 。內(nèi)部類監(jiān)聽器 。處理按鍵輸入類 。事件監(jiān)聽類 。監(jiān)聽類 Bullet 子彈類 keyPressed()按鍵觸發(fā)器方法 getKeyCode()獲取按鍵 代碼方法 repaint()。重畫方法 drawImage()。畫圖方法 在 Graphics 類中提供了繪制字符串、直線、矩形、橢圓、多邊形、折線的方法,可以將 GUI 組建中做成一張紙,而將 Graphics 看做鉛筆或畫刷??梢詰?yīng)用 Graphics 類中的方法在不同的平臺的顯示屏上顯示圖像或圖形,任何時候需 姓名:王彥培 課題名稱:仿雷霆戰(zhàn)機 —— 光影空戰(zhàn) 9 要顯示組件時, JVM 都會自動在本地平臺上為該組件創(chuàng)建一個 Graphics 對象,然后傳遞這個對象來調(diào)用 paintComponent(Graphics g),這個定義在 JComponent類中的方法是在第一次 顯示組件或重新顯示組件時調(diào)用的。 Graphics 類是所有圖形上下文的抽象類的基類,允許應(yīng)用程序在組件(已經(jīng)在各種設(shè)備上實現(xiàn))以及閉屏圖像上進行繪制。 Graphics 對象封裝了 Java 支持的基本呈現(xiàn)操作所需的狀態(tài)信息。此狀態(tài)信息包括:要在其上繪制的 Component 對象;呈現(xiàn)和剪貼坐標的轉(zhuǎn)換原點;當前剪貼區(qū);當前顏色;當前字體;當前邏輯像素操作函數(shù);當前 XOR 交替顏色。 所有作為 Graphics 對象方法的參數(shù)而出現(xiàn)的坐標,都是相對于調(diào)用該方法前的此 Graphics 對象轉(zhuǎn)換原點的,所有呈現(xiàn)操作僅修改當前剪 貼區(qū)所限定區(qū)域內(nèi)的像素,此剪貼區(qū)是用戶空間中的 Shape 指定的,并通過使用 Graphics 對象的程序來控制。此用戶剪貼區(qū)被換到設(shè)備空間中,并與設(shè)備剪貼區(qū)組合,后者是通過窗口可見性和設(shè)備范圍定義的。用戶剪貼區(qū)和設(shè)備剪貼區(qū)的組合定義復(fù)合剪貼區(qū),復(fù)合剪貼區(qū)確定最終的剪貼區(qū)域。用戶剪貼區(qū)不能由呈現(xiàn)系統(tǒng)修改,以反映得到的復(fù)合剪貼區(qū)。用戶剪貼區(qū)只能通過 setClip 或 clipRect 方法更改,所有的繪制或?qū)懭攵家援斍暗念伾?、當前的繪圖模式和當前的字體來完成。 Public abstract Boolean drawImage(Image img,int x,int y,int width,int height,ImageObserver observer),繪制指定圖像中已經(jīng)縮放到適合指定的矩形內(nèi)部的圖像,圖像繪制在此圖形的上下坐標之間的指定矩形內(nèi)部,如果需要,則進行縮放。透明像素不影響該處已經(jīng)存在的像素。此方法在任何情況下都立刻返回,甚至在整個圖像沒有針對當前輸出設(shè)備完成縮放、抖動或者轉(zhuǎn)換的情況下也是如此。如果當前輸出表示形式尚未完成,則 drawImage 返回 false,隨著更多的圖像可用,加載圖像的進程將通過調(diào)用圖像 的觀察者的 imageUpdate方法來通知它。 縮放的圖像不一定立刻可用,因為已經(jīng)針對此輸出設(shè)備構(gòu)造了非縮放的圖像。每種大小的圖像可以被分別緩存,并由各自圖像產(chǎn)生序列中的原始數(shù)據(jù)生成, 參數(shù)代表含義: img— 要繪制的指定圖像。如果 img 為 null,則此方法不執(zhí)行任何操作; Xx 坐標; Y— y坐標; width— 舉行的高度; height— 舉行的高度;observer— 轉(zhuǎn)換了更多圖像時要通知的對象。返回:如果圖像像素仍然在改變, 姓名:王彥培 課題名稱:仿雷霆戰(zhàn)機 —— 光影空戰(zhàn) 10 則返回 false。否則返回 ture。下面是光影空戰(zhàn)的主界面的設(shè)置 圖 ActionEvent 的使用: public class ActionEvent extends AWTEvent 指示發(fā)生了組建的動作的語義事件。當特定于組建的動作(比如被按下)發(fā)生時,由組件(比如 Button)生成此高級別事件。事件被傳遞給每一個 ActionListener對象,這些對象是使 addActionListener 方法注冊的,用以接收這類事件。要使用鍵盤在 Button 上觸發(fā) ActionEvent,請使用空格鍵。 實現(xiàn) ActionListener 接口的對象在發(fā)生事件時獲取此 ActionEvent。因此,偵聽器不必處理個別鼠標移動和鼠標單擊的細節(jié),而是可以處理像“有意義”(語義)事件。 ;一個內(nèi)部監(jiān)聽器類當觸發(fā)器每隔一定的時間都會觸發(fā) ActionEvent,而監(jiān)聽器會自動調(diào)用 repaint()方法重新繪制畫板。當繪制好一個面板,它的 x 坐標就會增加。 public interface ActiveEvent 知道如何對自身進行指派的事件的接口。通過實現(xiàn)此接口,可以使用 EventDispatchThread 將一個事件放置到事件隊列,并且指派該事件時將調(diào)用其 dispatch() 方法。 這是一種非常有用的避免死鎖的機制。如果線程正在執(zhí)行某個關(guān)鍵部分(即它已經(jīng)進入了一個或多個監(jiān)視器),調(diào)用其他同步代碼可能導(dǎo)致死鎖。為了避免潛在的死鎖,可以創(chuàng)建一個 ActiveEvent,以便以后運行代碼的第二部分。如果存在監(jiān)視器爭用,那么在第一個線程已經(jīng)完成工作并退出監(jiān)視器之前,第二個線程將一直處于阻塞狀態(tài)。 姓名:王彥培 課題名稱:仿雷霆戰(zhàn)機 —— 光影空戰(zhàn) 11 出于安全性考慮,使用 ActiveEvent 來避免從一個關(guān)鍵線程中調(diào)用不受信任的代碼通常是很值得的。例 如,同位體實現(xiàn)可以使用此設(shè)施來避免從系統(tǒng)線程調(diào)用用戶代碼。這樣做可以避免潛在的死鎖和拒絕服務(wù)攻擊。代碼如下 class TimerListener implements ActionListener{ Public void actionPerformed(ActionEvent e){ repaint()。 } } 。處理按鍵輸入類具體如下: public abstract class KeyAdapter extends Object implements KeyListener 接收鍵盤事件的抽象適配器類。此類中的方法為空。此類存在的目的是方便創(chuàng)建偵聽器對象。 擴展此類即可創(chuàng)建 KeyEvent 偵聽器并重寫所需事件的方法。(如果要實現(xiàn) KeyListener 接口,則必須定義該接口內(nèi)的所有方法。此抽象類將所有方法都定義為 null,所以只需針對關(guān)心的事件定義方法。) 使用擴展的類可創(chuàng)建偵聽器對象,然后使用組件的 addKeyListener 方法向該組件注冊此偵聽器對象。當按下、釋 放或鍵入某個鍵時,將調(diào)用該偵聽器對象中的相應(yīng)方法,并將 KeyEvent 傳遞給相應(yīng)的方法。 ; public class KeyEvent extends InputEvent 表示組件中發(fā)生鍵擊的事件。 當按下、釋放或鍵入某個鍵時,組件對象(如文本字段)將生成此低級別事件。該事件被傳遞給每一個 KeyListener 或 KeyAdapter 對象,這些對象使用組件的 addKeyListener 方法注冊,以接收此類事件。( KeyAdapter 對象實現(xiàn) KeyListener 接口。)發(fā)生事件時,所有此類偵聽器對象都將獲得此 KeyEvent。 “鍵入鍵”事件 是高級別事件,通常不依賴于平臺或鍵盤布局。輸入 Unicode 字符時生成此類事件,它們被認為是發(fā)現(xiàn)字符輸入的最佳方式。最簡單的情況是,按下單個鍵(如 a)將產(chǎn)生鍵入鍵事件。但是,字符經(jīng)常是通過一 姓名:王彥培 課題名稱:仿雷霆戰(zhàn)機 —— 光影空戰(zhàn) 12 系列按鍵(如‘ shift’+‘ a’)產(chǎn)生的,按下鍵事件和鍵入鍵事件的映射關(guān)系可能是多對一或多對多的。鍵釋放通常不需要生成鍵入鍵事件,但在某些情況下,只有釋放了某個鍵后才能生成鍵入鍵事件(如在 Windows 中通過 AltNumpad 方法來輸入 ASCII 序列)。對于不生成 Unicode
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1