2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  《 面向?qū)ο蟪绦蛟O(shè)計(jì)》</p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  題 目: 網(wǎng)頁瀏覽器設(shè)計(jì) </p><p>  院 (系): 信息科學(xué)與工程學(xué)院 </p><p>  專業(yè)班級: 計(jì)算機(jī)科學(xué)與技術(shù)1201班

2、 </p><p>  20 14 年 12 月 29 日至20 15 年 1 月 9 日</p><p>  面向?qū)ο蟪绦蛟O(shè)計(jì) 課程設(shè)計(jì)任務(wù)書</p><p><b>  目錄</b></p><p>  1需求與總體設(shè)計(jì)1</p><p><b>  1.1需求分

3、析1</b></p><p>  1.2總體設(shè)計(jì)思路1</p><p>  1.3功能圖與類圖2</p><p><b>  2詳細(xì)設(shè)計(jì)3</b></p><p>  2.1詳細(xì)設(shè)計(jì)思路3</p><p><b>  2.2復(fù)用組件4</b></

4、p><p><b>  3編碼實(shí)現(xiàn)5</b></p><p>  4系統(tǒng)運(yùn)行與測試21</p><p>  4.1系統(tǒng)測試情況21</p><p>  4.2排除錯(cuò)誤的處理24</p><p><b>  總 結(jié)25</b></p><p>&

5、lt;b>  1需求與總體設(shè)計(jì)</b></p><p><b>  1.1需求分析</b></p><p>  此網(wǎng)頁瀏覽器的主要功能描述:通過在地址欄里面輸入U(xiǎn)RL地址,可以訪的</p><p>  網(wǎng)頁。除此之外,本案例中的網(wǎng)頁瀏覽器還增添了如下幾個(gè)功能。 </p><p>  1.另存為:可以將正

6、在訪問的頁面進(jìn)行保存。</p><p>  2.前進(jìn):訪問現(xiàn)有頁面的上一個(gè)頁面。</p><p>  3.后退:訪問現(xiàn)有頁面的下一個(gè)頁面。</p><p>  4.查看源文件:查看訪問頁面的HTML源文件,并且提供保存功能。</p><p><b>  1.2總體設(shè)計(jì)思路</b></p><p>

7、  網(wǎng)頁瀏覽器的程序由文件WebBrowser.java與ViewSourceFrame.java兩個(gè)文件組成。</p><p>  1)WebBrowser,java</p><p>  該文件包含名為WebBrowser的public類,其主要功能為生成網(wǎng)頁瀏覽器的主體框架,實(shí)現(xiàn)框架上各個(gè)組件的事件偵聽。主要包括4個(gè)模塊:圖形用戶界面的構(gòu)建:組件監(jiān)聽接口的實(shí)現(xiàn):文件保存功能的實(shí)現(xiàn):查看

8、源代碼框架的生成。</p><p>  2)ViewSourceFrame.java </p><p>  該文件包含名為ViewSourceFrame的類,其主要功能是實(shí)現(xiàn)了源文件查看的主體框架,并實(shí)現(xiàn)了源文件的保存功能。主要包括兩個(gè)模塊:圖形用戶界面的構(gòu)建:組件監(jiān)聽接口的實(shí)現(xiàn)。</p><p><b>  1.3功能圖與類圖</b><

9、/p><p><b>  2詳細(xì)設(shè)計(jì)</b></p><p><b>  2.1詳細(xì)設(shè)計(jì)思路</b></p><p>  WebBrowser.java文件是網(wǎng)頁瀏覽器的主類文件,生成了網(wǎng)頁瀏覽器的主體框架,并實(shí)現(xiàn)框架上各個(gè)組件的事件偵聽。</p><p>  Pubilic class WebBrow

10、ser extends JFrame implements HyperlinkListener,ActtionListener //建立主件,包括地址欄、界面、地址欄、菜單組、菜單項(xiàng)、工具欄、工具欄中按鈕組件、存放歷史地址、訪問順序。</p><p>  public WebBrowser() /*構(gòu)造函數(shù),圖形化用戶界面*/ </p><p>  public void actio

11、nPerformed(ActionEvent e) /*實(shí)現(xiàn)監(jiān)聽器接口的actionPerformed函數(shù)*/</p><p>  void saveFile(final String url)//保存文件 </p><p>  void getHtmlSource (String url)//獲得原文件</p><p>  public void hyperli

12、nkUpdate(HyperlinkEvent e)//實(shí)現(xiàn)監(jiān)聽器接口的hyperlinkUpdate函數(shù)</p><p>  public static void main(String[] args)/*生成一個(gè)IE對象*/</p><p>  ViewSourceFrame.java文件的作用是實(shí)現(xiàn)網(wǎng)頁瀏覽器中源文件瀏覽的主體框架并提供了源文件的保存功能。</p>&l

13、t;p>  class ViewSourceFrame extends JFrame implements ActionListener//建立主件</p><p>  public ViewSourceFrame (String htmlSource) //構(gòu)造函數(shù),初始化圖形用戶界面</p><p>  public void actionPerformed(ActionEven

14、t e)//實(shí)現(xiàn)監(jiān)聽器接口的actionPerformed函數(shù)</p><p><b>  2.2復(fù)用組件 </b></p><p>  選擇好的容器就是為界面構(gòu)造一個(gè)基本的骨架,然后在其中添加各個(gè)組件。</p><p><b>  組件復(fù)用表:</b></p><p><b>  組件初

15、始化</b></p><p>  bar=new JToolBar (); //建立工具欄用來顯示地址欄</p><p>  jMenuBar1 = new JMenuBar(); //建立菜單欄 </p><p>  fileMenu = new JMenu ("文件(F)"); //建立菜單組</p><

16、p>  對各個(gè)菜單項(xiàng)進(jìn)行初始化</p><p>  saveAsItem = new JMenuItem ("另存為(A)...");</p><p>  exitItem=new JMenuItem ("退出(I)");</p><p>  backItem=new JMenuItem ("后退")

17、;</p><p>  forwardItem=new JMenuItem ("前進(jìn)");</p><p>  fullscreenItem=new JMenuItem ("全屏(U)"); </p><p>  sourceItem=new JMenuItem ("查看源碼(C)");</p>

18、<p>  reloadItem=new JMenuItem ("刷新(R)");</p><p>  工具欄與菜單欄的初始化過程類似。</p><p><b>  3編碼實(shí)現(xiàn)</b></p><p><b>  源代碼:</b></p><p>  import

19、java.awt.*; </p><p>  import javax.swing.*;</p><p>  import java.awt.event.*; </p><p>  import javax.swing.event.*;</p><p>  import javax.swing.border.*; </p>&l

20、t;p>  import java.io.*; </p><p>  import java.net.*; </p><p>  import java.util.*; </p><p>  public class WebBrowser extends JFrame implements HyperlinkListener,ActionListener{ &

21、lt;/p><p>  //建立工具欄用來顯示地址欄</p><p>  JToolBar bar=new JToolBar (); </p><p>  //建立網(wǎng)頁顯示界面</p><p>  JTextField jurl = new JTextField (60); </p><p>  JEditorPane

22、 jEditorPane1 = new JEditorPane ();</p><p>  JScrollPane scrollPane = new JScrollPane (jEditorPane1); </p><p>  JFileChooser chooser=new JFileChooser (); </p><p>  JFileChooser choo

23、ser1=new JFileChooser (); </p><p>  String htmlSource; </p><p>  JWindow window = new JWindow (WebBrowser.this); </p><p>  JButton button2=new JButton ("窗口還原");</p>

24、<p>  Toolkit toolkit = Toolkit.getDefaultToolkit();</p><p><b>  //建立菜單欄</b></p><p>  JMenuBar jMenuBar1 = new JMenuBar(); </p><p><b>  //建立菜單組</b><

25、/p><p>  JMenu fileMenu = new JMenu ("文件(F)"); </p><p><b>  //建立菜單項(xiàng)</b></p><p>  JMenuItem saveAsItem = new JMenuItem ("另存為(A)...");</p><p>

26、;  JMenuItem exitItem=new JMenuItem ("退出(I)");</p><p>  JMenu editMenu=new JMenu ("編輯(E)");</p><p>  JMenuItem backItem=new JMenuItem ("后退");</p><p>  

27、JMenuItem forwardItem=new JMenuItem ("前進(jìn)");</p><p>  JMenu viewMenu=new JMenu ("視圖(V)");</p><p>  JMenuItem fullscreenItem=new JMenuItem ("全屏(U)"); </p><

28、p>  JMenuItem sourceItem=new JMenuItem ("查看源碼(C)");</p><p>  JMenuItem reloadItem=new JMenuItem ("刷新(R)");</p><p><b>  //建立工具欄</b></p><p>  JToolB

29、ar toolBar = new JToolBar();</p><p>  //建立工具欄中的按鈕組件</p><p>  JButton picSave = new JButton("另存為");</p><p>  JButton picBack = new JButton("后退");</p><p

30、>  JButton picForward = new JButton("前進(jìn)");</p><p>  JButton picView = new JButton("查看源代碼");</p><p>  JButton picExit = new JButton("退出");</p><p>  J

31、Label label=new JLabel ("地址"); </p><p>  JButton button=new JButton ("轉(zhuǎn)向");</p><p>  Box adress=Box.createHorizontalBox (); </p><p>  //ArrayList對象,用來存放歷史地址<

32、;/p><p>  private ArrayList history=new ArrayList();</p><p>  //整型變量,表示歷史地址的訪問順序</p><p>  private int historyIndex;</p><p><b>  /**</b></p><p><

33、;b>  **構(gòu)造函數(shù)</b></p><p>  **初始化圖形用戶界面</p><p><b>  */</b></p><p>  public WebBrowser(){ </p><p>  setTitle ("網(wǎng)頁瀏覽器"); </p><p&g

34、t;  setResizable(false);</p><p>  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p>  //為jEditorPane1添加事件偵聽</p><p>  jEditorPane1.addHyperlinkListener (this);</p><p&

35、gt;  //為組件fileMenu設(shè)置熱鍵‘F’</p><p>  fileMenu.setMnemonic('F'); </p><p>  saveAsItem.setMnemonic ('S'); </p><p>  //為“另存為”組件設(shè)置快捷鍵為ctrl+s</p><p>  sa

36、veAsItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_S,InputEvent.CTRL_MASK)); </p><p>  exitItem.setMnemonic('Q'); </p><p>  exitItem.setAccelerator (KeyStroke.getKeyStroke (

37、KeyEvent.VK_E,InputEvent.CTRL_MASK)); </p><p>  //將菜單項(xiàng)saveAsItem加入到菜單組fileMenu中</p><p>  fileMenu.add (saveAsItem); </p><p>  //在菜單項(xiàng)中添加隔離</p><p>  fileMenu.addSeparator

38、 (); </p><p>  fileMenu.add (exitItem);</p><p>  backItem.setMnemonic ('B'); </p><p>  backItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_Z,InputEvent.CTRL_MASK));

39、 </p><p>  forwardItem.setMnemonic('D'); </p><p>  forwardItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_P,InputEvent.CTRL_MASK)); </p><p>  editMenu.setMnemonic(

40、'E'); </p><p>  editMenu.add (backItem); </p><p>  editMenu.add (forwardItem); </p><p>  viewMenu.setMnemonic('V'); </p><p>  fullscreenItem.setMnemonic

41、('U');</p><p>  fullscreenItem.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_U,InputEvent.CTRL_MASK)); </p><p>  sourceItem.setMnemonic('C');</p><p>  sourceIt

42、em.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C,InputEvent.CTRL_MASK)); </p><p>  reloadItem.setMnemonic('R');</p><p>  reloadItem.setAccelerator (KeyStroke.getKeyStroke (KeyEve

43、nt.VK_R,InputEvent.CTRL_MASK)); </p><p>  Container contentPane=getContentPane (); </p><p><b>  //設(shè)置大小</b></p><p>  scrollPane.setPreferredSize(new Dimension(100,500))

44、;</p><p>  contentPane.add (scrollPane, BorderLayout.SOUTH); </p><p>  //在工具欄中添加按鈕組件</p><p>  toolBar.add(picSave);</p><p>  toolBar.addSeparator();</p>&

45、lt;p>  toolBar.add(picBack);</p><p>  toolBar.add(picForward);</p><p>  toolBar.addSeparator();</p><p>  toolBar.add(picView);</p><p>  toolBar.addSeparator();</p

46、><p>  toolBar.add(picExit); </p><p>  contentPane.add (bar,BorderLayout.CENTER); </p><p>  contentPane.add(toolBar,BorderLayout.NORTH); </p><p>  viewMenu.add (fullscre

47、enItem); </p><p>  viewMenu.add (sourceItem); </p><p>  viewMenu.addSeparator (); </p><p>  viewMenu.add (reloadItem); </p><p>  jMenuBar1.add (fileMenu); </p

48、><p>  jMenuBar1.add (editMenu); </p><p>  jMenuBar1.add (viewMenu); </p><p>  setJMenuBar (jMenuBar1); </p><p>  adress.add (label); </p><p>  adress.add (ju

49、rl); </p><p>  adress.add (button); </p><p>  bar.add (adress); </p><p>  //為組件添加事件監(jiān)聽</p><p>  saveAsItem.addActionListener(this);</p><p>  picSave.addAct

50、ionListener(this);</p><p>  exitItem.addActionListener(this);</p><p>  picExit.addActionListener(this);</p><p>  backItem.addActionListener(this);</p><p>  picBack.addA

51、ctionListener(this);</p><p>  forwardItem.addActionListener(this);</p><p>  picForward.addActionListener(this);</p><p>  fullscreenItem.addActionListener(this);</p><p>

52、  sourceItem.addActionListener(this);</p><p>  picView.addActionListener(this);</p><p>  reloadItem.addActionListener(this);</p><p>  button.addActionListener(this);</p><

53、p>  jurl.addActionListener(this);</p><p><b>  } </b></p><p><b>  /**</b></p><p>  **實(shí)現(xiàn)監(jiān)聽器接口的actionPerformed函數(shù)</p><p><b>  */</b>

54、;</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  String url = "";</p><p><b>  //點(diǎn)擊轉(zhuǎn)向按鈕</b></p><p>  if (e.getSource() == button){&

55、lt;/p><p>  //獲得地址欄的內(nèi)容</p><p>  url=jurl.getText (); </p><p>  //url不為“”,并且以“http://”開頭</p><p>  if(url.length ()>0&&url.startsWith ("http://")){ <

56、/p><p><b>  try { </b></p><p>  //JEditorPane組件顯示url的內(nèi)容鏈接</p><p>  jEditorPane1.setPage (url); </p><p>  //將url的內(nèi)容添加到ArrayList對象history中</p><p>  

57、history.add(url); </p><p>  //historyIndex的數(shù)值設(shè)為history對象的長度-1</p><p>  historyIndex=history.size()-1;</p><p><b>  //重新布局</b></p><p>  jEditorPane1.setEditab

58、le(false); //add by copy editor :)</p><p>  jEditorPane1.revalidate (); </p><p><b>  } </b></p><p>  catch(Exception ex) { </p><p>  //如果鏈接顯示失敗,則彈出選擇對話框“無法打

59、開該搜索頁”</p><p>  JOptionPane.showMessageDialog (WebBrowser.this,"無法打開該搜索頁","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);</p><p><b>  } </b></p><p><b>  }

60、</b></p><p>  //url不為“”,并且不以“http://”開頭</p><p>  else if(url.length ()>0&&!url.startsWith ("http://")) { </p><p>  //在url前面添加“http://”</p><p>

61、;  url="http://"+url; </p><p><b>  try { </b></p><p>  jEditorPane1.setPage (url ); </p><p>  history.add(url); </p><p>  historyIndex=history.siz

62、e()-1;</p><p>  jEditorPane1.setEditable(false); //add by copy editor :)</p><p>  jEditorPane1.revalidate (); </p><p><b>  } </b></p><p>  catch(Exception e

63、x) {</p><p>  JOptionPane.showMessageDialog (WebBrowser.this,"無法打開該搜索頁","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);</p><p><b>  } </b></p><p><b>  }<

64、;/b></p><p>  //沒有輸入url,即url為空</p><p>  else if(url.length ()==0){</p><p>  JOptionPane.showMessageDialog (WebBrowser.this,"請輸入鏈接地址","網(wǎng)頁瀏覽器",JOptionPane.ERROR

65、_MESSAGE);</p><p><b>  } </b></p><p><b>  }</b></p><p>  //輸入地址后點(diǎn)擊回車</p><p>  else if (e.getSource() == jurl){</p><p>  url=jurl.ge

66、tText (); </p><p>  if(url.length ()>0&&url.startsWith ("http://")) { </p><p><b>  try { </b></p><p>  jEditorPane1.setPage (url); </p><p

67、>  history.add(url); </p><p>  historyIndex=history.size()-1;</p><p>  jEditorPane1.setEditable(false); //add by copy editor :)</p><p>  jEditorPane1.revalidate (); </p>&

68、lt;p>  jurl.setMaximumSize (jurl.getPreferredSize ()); </p><p><b>  } </b></p><p>  catch(Exception ex) { </p><p>  JOptionPane.showMessageDialog (WebBrowser.this,&qu

69、ot;無法打開該搜索頁","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);</p><p><b>  } </b></p><p><b>  } </b></p><p>  else if(url.length ()>0&&!url.start

70、sWith ("http://")) { </p><p>  url="http://"+url; </p><p><b>  try { </b></p><p>  jEditorPane1.setPage (url );</p><p>  history.add(url

71、); </p><p>  historyIndex=history.size()-1;</p><p>  jEditorPane1.setEditable(false); //add by copy editor :)</p><p>  jEditorPane1.revalidate (); </p><p><b>  }

72、</b></p><p>  catch(Exception ex) { </p><p>  JOptionPane.showMessageDialog (WebBrowser.this,"無法打開該搜索頁","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE);</p><p><b>

73、;  } </b></p><p><b>  }</b></p><p>  else if(url.length ()==0){</p><p>  JOptionPane.showMessageDialog (WebBrowser.this,"請輸入鏈接地址","網(wǎng)頁瀏覽器",JOpti

74、onPane.ERROR_MESSAGE);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //另存為...</b></p><p>  else if (e.getSource() == picSave||e.ge

75、tSource() == saveAsItem){</p><p>  url = jurl.getText ().toString ().trim(); </p><p>  if(url.length ()>0&&!url.startsWith ("http://")) { </p><p>  url="ht

76、tp://"+url; </p><p><b>  } </b></p><p>  if(!url.equals ("")) { </p><p><b>  //保存文件</b></p><p>  saveFile(url); </p><p

77、><b>  } </b></p><p><b>  else { </b></p><p>  JOptionPane.showMessageDialog (WebBrowser.this,"請輸入鏈接地址","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE); </p&g

78、t;<p><b>  } </b></p><p><b>  }</b></p><p><b>  //退出</b></p><p>  else if (e.getSource() == exitItem ||e.getSource() == picExit){</p>

79、;<p>  System.exit(0);</p><p><b>  }</b></p><p><b>  //后退</b></p><p>  else if (e.getSource() == backItem ||e.getSource() == picBack){</p><

80、p>  historyIndex--; </p><p>  if(historyIndex < 0) </p><p>  historyIndex = 0; </p><p>  url = jurl.getText();</p><p><b>  try{</b></p><p&g

81、t;  //獲得history對象中本地址之前訪問的地址</p><p>  url = (String)history.get(historyIndex);</p><p>  jEditorPane1.setPage(url); </p><p>  jurl.setText(url.toString());</p><p>  jEdi

82、torPane1.setEditable(false); //add by copy editor :)</p><p>  jEditorPane1.revalidate (); </p><p><b>  }</b></p><p>  catch(Exception ex){</p><p><b> 

83、 }</b></p><p><b>  }</b></p><p><b>  //前進(jìn)</b></p><p>  else if (e.getSource() == forwardItem ||e.getSource() == picForward){</p><p>  hist

84、oryIndex++; </p><p>  if(historyIndex >= history.size()) </p><p>  historyIndex = history.size()-1; </p><p>  url = jurl.getText();</p><p><b>  try{</b>&

85、lt;/p><p>  //獲得history對象中本地址之后訪問的地址</p><p>  url = (String)history.get(historyIndex);</p><p>  jEditorPane1.setPage(url); </p><p>  jurl.setText(url.toString());</p>

86、;<p>  jEditorPane1.setEditable(false); //add by copy editor :)</p><p>  jEditorPane1.revalidate (); </p><p><b>  }</b></p><p>  catch(Exception ex){</p>&

87、lt;p><b>  }</b></p><p><b>  }</b></p><p><b>  //全屏</b></p><p>  else if (e.getSource() == fullscreenItem){</p><p>  boolean add_b

88、utton2=true; </p><p><b>  //獲得屏幕大小</b></p><p>  Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); </p><p>  Container content = window.getContentPane(); <

89、/p><p>  content.add (bar,"North"); </p><p>  content.add (scrollPane,"Center"); </p><p>  //button2為點(diǎn)擊“全屏”后的還原按鈕</p><p>  if(add_button2==true) {

90、</p><p>  bar.add (button2); </p><p><b>  } </b></p><p>  //為button2添加事件</p><p>  button2.addActionListener (new ActionListener () { </p><p>  

91、public void actionPerformed (ActionEvent evt) { </p><p>  WebBrowser.this.setEnabled (true); </p><p>  window.remove (bar);</p><p>  window.remove (toolBar);</p><p>  w

92、indow.remove (scrollPane); </p><p>  window.setVisible (false); </p><p>  scrollPane.setPreferredSize (new Dimension (100,500)); </p><p>  getContentPane ().add (scrollPane,B

93、orderLayout.SOUTH); </p><p>  getContentPane ().add (bar,BorderLayout.CENTER); </p><p>  getContentPane ().add (toolBar,BorderLayout.NORTH); </p><p>  bar.remove (button2);</p>

94、;<p><b>  pack(); </b></p><p><b>  } </b></p><p><b>  });</b></p><p>  window.setSize (size); </p><p>  window.setVisible (tr

95、ue); </p><p><b>  }</b></p><p><b>  //查看源文件</b></p><p>  else if (e.getSource() == sourceItem ||e.getSource() == picView){</p><p>  url = jurl.g

96、etText ().toString ().trim (); </p><p>  if(url.length ()>0&&!url.startsWith ("http://")) { </p><p>  url="http://"+url; </p><p><b>  } </b&g

97、t;</p><p>  if( !url.equals ("")) {</p><p>  //根據(jù)url,獲得源代碼</p><p>  getHtmlSource (url); </p><p>  //生成顯示源代碼的框架對象</p><p>  ViewSourceFrame vsfram

98、e = new ViewSourceFrame (htmlSource); </p><p>  vsframe.setBounds (0,0,800,500); </p><p>  vsframe.setVisible(true); </p><p><b>  } </b></p><p><b>  e

99、lse { </b></p><p>  JOptionPane.showMessageDialog (WebBrowser.this,"請輸入鏈接地址","網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE); </p><p><b>  } </b></p><p><

100、;b>  }</b></p><p><b>  //刷新</b></p><p>  else if (e.getSource() == reloadItem){</p><p>  url=jurl.getText (); </p><p>  if(url.length ()>0&&

101、amp;url.startsWith ("http://")) { </p><p><b>  try { </b></p><p>  jEditorPane1.setPage (url); </p><p>  jEditorPane1.setEditable(false); //add by copy editor

102、:)</p><p>  jEditorPane1.revalidate (); </p><p><b>  } </b></p><p>  catch(Exception ex) { </p><p><b>  } </b></p><p><b>  }

103、</b></p><p>  else if(url.length ()>0&&!url.startsWith ("http://")) { </p><p>  url="http://"+url; </p><p><b>  try { </b></p>

104、<p>  jEditorPane1.setPage (url ); </p><p>  jEditorPane1.setEditable(false); //add by copy editor :)</p><p>  jEditorPane1.revalidate (); </p><p><b>  } </b><

105、/p><p>  catch(Exception ex) { </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }</b></p><p><b>  } </b>&

106、lt;/p><p><b>  /*</b></p><p><b>  **保存文件</b></p><p><b>  */</b></p><p>  void saveFile (final String url) { </p><p>  fina

107、l String linesep = System.getProperty ("line.separator"); </p><p>  chooser1.setCurrentDirectory (new File (".")); </p><p>  chooser1.setDialogType (JFileChooser.SAVE_DIALOG)

108、; </p><p>  chooser1.setDialogTitle ("另存為..."); </p><p>  if(chooser1.showSaveDialog (this) != JFileChooser.APPROVE_OPTION) </p><p><b>  return; </b></p>

109、<p>  this.repaint (); </p><p>  Thread thread = new Thread () { </p><p>  public void run () { </p><p><b>  try { </b></p><p>  java.net.URL source

110、= new URL (url); </p><p>  InputStream in = new BufferedInputStream (source.openStream ()); </p><p>  BufferedReader br=new BufferedReader (new InputStreamReader (in)); </p><p>  Fi

111、le fileName = chooser1.getSelectedFile (); </p><p>  FileWriter out = new FileWriter (fileName);</p><p>  BufferedWriter bw = new BufferedWriter (out); </p><p>  String line; </p

112、><p>  while((line = br.readLine ()) != null) { </p><p>  bw.write (line); </p><p>  bw.newLine (); </p><p><b>  } </b></p><p>  bw.flush (); <

113、/p><p>  bw.close (); </p><p>  out.close (); </p><p>  String dMessage = url + " 已經(jīng)被保存至"+ linesep +fileName.getAbsolutePath (); </p><p>  String dTitle = "

114、另存為"; </p><p>  int dType = JOptionPane.INFORMATION_MESSAGE; </p><p>  JOptionPane.showMessageDialog ((Component) null,dMessage,dTitle,dType); </p><p><b>  } </b>&l

115、t;/p><p>  catch(java.net.MalformedURLException muex) { </p><p>  JOptionPane.showMessageDialog ((Component)null,muex.toString (),"網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE); </p><p>

116、<b>  } </b></p><p>  catch(Exception ex) { </p><p>  JOptionPane.showMessageDialog ((Component) null,ex.toString (),"網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE); </p><p>

117、;<b>  } </b></p><p><b>  } </b></p><p><b>  }; </b></p><p>  thread.start (); </p><p><b>  } </b></p><p>&l

118、t;b>  /*</b></p><p><b>  **獲得源代碼</b></p><p><b>  */</b></p><p>  void getHtmlSource (String url) { </p><p>  String linesep,htmlLine; &

119、lt;/p><p>  linesep = System.getProperty ("line.separator"); </p><p>  htmlSource =""; </p><p><b>  try { </b></p><p>  java.net.URL source

120、 = new URL (url); </p><p>  InputStream in = new BufferedInputStream (source.openStream ()); </p><p>  BufferedReader br = new BufferedReader ( new InputStreamReader (in)); </p><p>

121、  while((htmlLine = br.readLine ())!=null) { </p><p>  htmlSource = htmlSource +htmlLine+linesep; </p><p><b>  } </b></p><p><b>  } </b></p><p>

122、  catch(java.net.MalformedURLException muex) { </p><p>  JOptionPane.showMessageDialog (WebBrowser.this,muex.toString (),"網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE); </p><p><b>  } </b

123、></p><p>  catch(Exception e) { </p><p>  JOptionPane.showMessageDialog (WebBrowser.this,e.toString (),"網(wǎng)頁瀏覽器",JOptionPane.ERROR_MESSAGE); </p><p><b>  } </b&g

124、t;</p><p><b>  }</b></p><p><b>  /**</b></p><p>  **實(shí)現(xiàn)監(jiān)聽器接口的hyperlinkUpdate函數(shù)</p><p><b>  */</b></p><p>  public void h

125、yperlinkUpdate (HyperlinkEvent e) { </p><p>  if(e.getEventType () == HyperlinkEvent.EventType.ACTIVATED) { </p><p>  String url = jurl.getText();</p><p>  if(url.length ()>0&

126、;&url.startsWith ("http://")) { </p><p><b>  try { </b></p><p>  jEditorPane1.setPage (url); </p><p>  jEditorPane1.revalidate (); </p><p><

127、;b>  } </b></p><p>  catch(Exception ex) { </p><p><b>  } </b></p><p><b>  } </b></p><p>  else if(url.length ()>0&&!url.sta

128、rtsWith ("http://")) { </p><p>  url="http://"+url; </p><p><b>  try { </b></p><p>  jEditorPane1.setPage (url ); </p><p>  jEditorPane1

129、.revalidate (); </p><p><b>  } </b></p><p>  catch(Exception ex) { </p><p><b>  } </b></p><p><b>  } </b></p><p><b&

130、gt;  } </b></p><p>  // Revised by copy editor :) Now with new code to help hyperlink</p><p><b>  try {</b></p><p>  if (e.getEventType() == HyperlinkEvent.EventTy

131、pe.ACTIVATED)</p><p>  jEditorPane1.setPage(e.getURL());</p><p>  } catch (Exception ex) {</p><p>  ex.printStackTrace(System.err);</p><p><b>  }</b></p&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論