国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Java應(yīng)用技巧

2019-11-18 11:51:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  1. Applet 與 application 合 并
  
  --------------------------------------------------------------------------------
  
  
  ---- java 是 一 種 建 立 分 布 應(yīng) 用 程 序 的 技 術(shù) 。 它 是 網(wǎng) 絡(luò) 編
  程 的 最 優(yōu) 秀 工 具 。 使 Internet 的 應(yīng) 用 從 通 訊 工 具 擴(kuò) 展 到 能
  夠 運(yùn) 行 成 熟 應(yīng) 用 程 序 的 網(wǎng) 絡(luò) 。
  
  ---- Java 程 序 有 兩 種 類(lèi) 型:Applet 和 Application 。 簡(jiǎn) 單 的 講 ,
  Applet 就 是 嵌 入Web 文 檔 的 程 序 , 而Application 則 是 所 有 其 它
  類(lèi) 型 的 程 序 。
  
  ---- 就Java 而 言 ,Applet 與 Application 的 大 小 和 復(fù) 雜 性 都 沒(méi) 有
  限 制 , 但 是 因 為Applet 主 要 是 用 于 網(wǎng) 絡(luò) 通 訊 , 由 于 通 訊
  速 度 有 限 , 下 載 時(shí) 間 較 長(zhǎng) , 因 而 Applet 一 般 來(lái) 說(shuō) 規(guī) 模 較
  小 , 而 對(duì) 于Application 則 無(wú) 此 顧 慮 。
  
  ---- Applet 與 Application 之 間 的 技 術(shù) 差 別 來(lái) 源 于 其 運(yùn) 行 環(huán) 境
  的 差 別 。 Applet 需 要 來(lái) 自 瀏 覽 器 的 大 量 信 息: 瀏 覽 器 客
  戶(hù) 機(jī) 的 位 置 和 大 小 、 嵌 入 主Html 文 檔 的 參 數(shù) 、 初 始 化 過(guò)
  程(init) 、 啟 動(dòng) 過(guò) 程(start) 、 停 止 過(guò) 程(stop) 、 終 止 過(guò) 程(de
  story) 、 繪 圖 過(guò) 程(paint) 等 等 , 而Application 則 相 對(duì) 要 簡(jiǎn) 單
  得 多 , 它 來(lái) 自 外 部 世 界 的 唯 一 輸 入 就 是 命 令 行 參 數(shù) 。
  
  
  ---- 對(duì) 于 Applet 必 須 做 為java.applet.Applet 的 子 類(lèi) , 而Applicat
  ion 則 必 須 有 一 個(gè) 公 共 的 方 法 main( ) 。 其 次 , 兩 者 的 主 線
  程 是 不 同 的 ,Applet 是 由 方 法 init( ) 來(lái) 對(duì)applet 進(jìn) 行 初 始 化
  的 , 而Application 則 由 方 法main( ) 來(lái) 開(kāi) 始 運(yùn) 行 程 序 的 。 一
  般 地 ,Java 的 Applet 和 Application 是 完 全 遵 照 以 上 的 原 則 進(jìn)
  行 編 程 的 , 但 是 , 我 們 可 以 運(yùn) 用 技 巧 寫(xiě) 出 即 是Applet 又
  是 Application 的 程 序 來(lái) 。 這 樣 , 即 可 以 使 我 們 更 進(jìn) 一 步 了
  解Java 的 內(nèi) 部 結(jié) 構(gòu) 又 可 以 使 同 一 程 序 運(yùn) 行 于 不 同 的 運(yùn) 行
  環(huán) 境 、 還 可 以 提 高 研 究Java 的 興 趣 。
  
  ---- 例 程 如 下:
  
  
  import java.applet.*;
  
  import java.awt.*;
  
  import java.awt.event.*;
  
  
  
  
  
  public class Example extends Applet implements
  
  ActionListener{ // #1
  
  public static void main(String[] args){
  
  Frame win=new Frame("Example");
  
  Example example=new Example();
  
  win.add(?enter", example);
  
  example.init(); // #2
  
  win.setSize(600,360);
  
  win.setVisible(true);
  
  }
  
  public void init(){ // #3
  
  Button button;
  
  Label label;
  
  button=new Button(" OK "):
  
  button.setBounds(280,200,100,20);
  
  button.addActionListener(this);
  
  label=new Label();
  
  label.setBounds(260,100,200,20);
  
  add(button);
  
  add(label);
  
  }
  
  public void actionPerformed(ActionEvent e){
  
  Object source=e.getSource();
  
  if(source==button){
  
  label.setText(" It is a example !");
  
  }
  
  }
  
  }
  
  ---- 在 程 序 中 的 #1 處 , 必 須 讓 程 序 繼 承java.applet.Applet 類(lèi)
  這 是 做 為Applet 的 必 要 條 件 , 在 #2 處 , 需 要 生 成 本 類(lèi) 的
  一 個(gè) 實(shí) 例 example , 通 過(guò) 此 實(shí) 例 來(lái) 調(diào) 用init() 方 法 , #3 是
  init() 方 法 。
  ---- 如 果 把 該 程 序 看 作Applet , 它 只 是 覆 蓋 了init() 方 法 和a
  ctionPerformed( ) 方 法 來(lái) 響 應(yīng)Button 事 件 。 如 果 作 為Application
  , 則 由main( ) 方 法 開(kāi) 始 , 先 生 成 程 序 本 身 的 實(shí) 例 將 程 序
  加 入 窗 口 , 然 后 調(diào) 用init() 方 法 。 編 譯 此 程 序 , 即 可 以
  在 提 示 下 作 為Application 直 接 運(yùn) 行 , 又 可 以 作 為Applet 送 入
  任 何 瀏 覽 器 。
  
   
  
  2. Java 中 的 發(fā) 聲 提 示
  
  --------------------------------------------------------------------------------
  
   
  ---- Java 作 為 一 種 網(wǎng) 絡(luò) 編 程 語(yǔ) 言 , 在 瀏 覽 器 中 即 可 以 進(jìn)
  行 動(dòng) 畫(huà) 演 示 , 也 可 以 播 放 聲 音 。 在 人 機(jī) 的 交 互 過(guò) 程 中 ,
  為 了 加 強(qiáng) 效 果 或 起 到 提 示 的 作 用 , 需 要 加 入 聲 音 。
  
  ---- Java 的 包 java.applet 中 有AudioClip 接 口 , 此 接 口 封 裝 有
  關(guān) 聲 音 片 斷 的 一 些 常 用 方 法 。 用 法 如 下:
  
  
  AudioClip audio;
  
  audio=getAudioClip(getCodeBase(),"Hi.au");
  
  audio.play();
  
  ---- 第 一 行 生 成 接 口AudioClip 的 一 個(gè) 變 量 , 第 二 行 利 用 此
  變 量 取 得 聲 音 文 件 Hi.au , 此 文 件 與 程 序 本 身 在 同 一 目 錄
  下,getCodeBase() 方 法 是 用 來(lái) 取 得Applet 的class 文 件 的URL 地 址
  。 第 三 行 是 播 放 聲 音 文 件 。 在Applet 中 利 用 此 用 法 可 在
  瀏 覽 器 中 發(fā) 出 聲 音 。 那 么 , 在Application 中 是 否 也 可 以 用
  此 方 法 來(lái) 發(fā) 出 聲 音 呢 ? 不 可 以 。 因 為 接 口AudioClip 是 在
  包 java.applet 中 , 而 此 包 只 適 用 于Applet 。 是 否 可 以 用 其 它
  方 法 來(lái) 實(shí) 現(xiàn) 呢 ? 我 們 可 以 利 用 1 中 的 技 巧 來(lái) 編 寫(xiě) 一 個(gè) 即
  是Applet 又 是 Application 的 程 序 試 試 。 結(jié) 果 , 還 是 不 行 。
  這 是 因 為play() 方 法 只 能 在Applet 中 實(shí) 現(xiàn) , 對(duì) 于Applicationpla
  y() 方 法 是 不 能 夠 被 調(diào) 用 的 。
  ---- 那 么 , 如 何 在Application 中 實(shí) 現(xiàn) 發(fā) 聲 提 示 呢 ?
  
  ---- 記 得 VB 中 有 beep 語(yǔ) 句 來(lái) 使 系 統(tǒng) 發(fā) 聲 器(System Speaker ) 發(fā)
  聲 , 那 么 ,Java 中 也 應(yīng) 有 類(lèi) 似 的 方 法 。
  
  ---- 在 Java 的 java.awt.Toolkit 類(lèi) 中 有 方 法beep() 是 來(lái) 實(shí) 現(xiàn) 這 一
  功 能 的 。 類(lèi) Toolkit 是 抽 象 類(lèi) , 它 是 實(shí) 現(xiàn)AWT 的 所 有 工 具 的
  父 類(lèi) 。 Java 中 的 抽 象 類(lèi) 是 不 能 夠 實(shí) 例 化 的 , 但 是 一 般 地
  , 抽 象 類(lèi) 可 以 生 成 變 量 , 然 后 利 用 抽 象 類(lèi) 中 的 某 一 方
  法 來(lái) 取 得 此 類(lèi) 的 替 代 品 。 在 Toolkit 中 是 利 用 getDefaultTool
  kit() 方 法 來(lái) 實(shí) 現(xiàn) 的 。 現(xiàn) 在 給 出 一 個(gè) 實(shí) 例: 這 是 一 個(gè) 客 戶(hù)
  機(jī)/ 服 務(wù) 器 的Application 。 當(dāng) 服 務(wù) 器 運(yùn) 行 時(shí) 如 果 有 客 戶(hù) 機(jī)
  與 服 務(wù) 器 相 連 , 則 服 務(wù) 器 會(huì) 自 動(dòng) 發(fā) 聲 警 報(bào) 提 示 服 務(wù) 器 端
  的 用 戶(hù) 有 客 戶(hù) 要 與 自 己 進(jìn) 行 對(duì) 話 。
  
  ---- 程 序 如 下:
  
  
  服 務(wù) 器:
  
  import java.util.*;
  
  import java.io.*;
  
  import java.net.*;
  
  import java.awt.*;
  
  
  
  public class ServerT{
  
  public static void main(String[] args){
  
  Server server;
  
  String clientRequest;
  
  boolean quit=false;
  
  server=new Server(8001);
  
  while(!quit){
  
  DataInputStream keyboard=new DataInputStream(System.in);
  
  try{
  
  clientRequest=server.in.readLine();
  
  if(clientRequest.trim().equals("CLOSE")){
  
  System.out.  
  System.exit(1);
  
  }
  
  System.out.println("Client says: "+clientRequest);
  
  server.out.println(keyboard.readLine());
  
  }catch(IOException e){
  
  System.out.println("IOException in server.in.readLine()"+e);
  
  System.exit(1);
  
  }
  
  }
  
  }
  
  }
  
  class Server{
  
  private ServerSocket server;
  
  private Socket socket;
  
  public DataInputStream in;
  
  public PrintStream out;
  
  public Server(int port){
  
  try{
  
  server=new ServerSocket(port);
  
  System.out.println("/n
  
  *************************************************");
  
  System.

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 梁山县| 驻马店市| 合水县| 郁南县| 宁安市| 正镶白旗| 白山市| 游戏| 甘泉县| 宝清县| 夹江县| 依兰县| 大悟县| 呈贡县| 辛集市| 新泰市| 长子县| 昔阳县| 仁化县| 桐庐县| 桃园市| 湄潭县| 镇江市| 九龙城区| 甘洛县| 凌海市| 常德市| 娱乐| 化隆| 赣州市| 夹江县| 公安县| 阜城县| 罗山县| 宜都市| 文化| 拉孜县| 闽侯县| 类乌齐县| 霞浦县| 宁明县|