求教大神翻譯java程序(用JAVA寫一個中英翻譯程序)

本文目錄一覽:

急求高手翻譯一段java程序

v.addElement(p); 這是一個監聽器類中的一些滑鼠監聽方法。

該類可定擴展了Swing中的監聽介面。

MouseEvent e對象是有swing容器傳遞的,當這個類繼承了相關的介面後,用戶對滑鼠的操作會被swing容器截獲,然後swing容器會叫用這個類中相關的介面,並傳遞參數e。

e中封裝了與滑鼠操作相關的參數,比如一些系統信息,滑鼠位置等等。

顧名思義:public void mouseMoved(MovedEvent e)

swing容器截獲滑鼠移動後調用的方法。

其它的也可以自己去猜。

v.addElement(p);

v可能是一個list對象,它輸入滑鼠當前panel的一個屬性,裝載了當前panel中的所有組件。

public void mouseDtagged(MouseEvent e) 這個方法可能是用戶擴展了swing介面,我猜測就是當用戶點擊了面板上的某個按鈕,比如畫點的按鈕後被swing容器截獲調用的方法。

x=(int)e.getx();

y=(int)e.gety();

point p=new point(x,y);

v.addElement(p);

repaint();

上面的意思就是說得到滑鼠當前的坐標,並在該坐標新建一個point對象,添加到但前面板的list中去。然後將panel中所有的組件重新畫在面板上。

跪求各位Java大神幫忙翻譯一下程序,寫一下注釋!!!謝謝!

ALLOFME我的全部WhatwouldIdowithoutyoursmartmouth如果口齒伶俐的你不在,我該怎麼Drawmein,andyoukickmeout你把我吸引過來,然後卻要把我踢開Gotmyheadspinning,nokidding,Ican’tpinyoudown你讓我頭昏目眩,我不是在開玩笑,我根本無法阻止你What’sgoingoninthatbeautifulmind你那美麗的心靈到底在想什麼?I’monyourmagicalmysteryride我正走在你魔幻又神秘的旅程中AndI’msodizzy,don’tknowwhatwl(這個詞肯定是書寫錯誤)me現在我很暈眩,不知道我這是怎麼了butI’llbealright但我會好好兒的。最後的倒數第二句有一個詞不清楚,所以我只是大概地猜測了一下,可能是don’tknowwhatiswrongwithme。希望能幫到你。

求大神翻譯一下這段JAVA代碼,明天要給別人逐句講

// 定義一個類,繼承與JFrame窗體類

public class HttpViewer extends JFrame {

//定義文本框

private JTextField urlInput;

//定義文本區域

private JTextArea viewArea;

//程序入口,一切從這裡開始運行

public static void main(String[] args) {

//定義HttpViewer對象,對象定義後自動運行對象所屬類的構造函數

new HttpViewer();

}

//類的構造函數

public HttpViewer() {

//定義窗體標題

this.setTitle(“Http Viewer”);

//定義窗體大小

this.setSize(800, 600);

//能不能調整大小:不行

this.setResizable(false);

//窗體只有關閉按鈕

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

//調用下面的方法

initPanel();

//調用下面的方法

initAction();

//顯示窗體

this.setVisible(true);

}

// 這個方法用來設置窗口布局

private void initPanel() {

//定義一個面板

JPanel northPanel = new JPanel();

//定義一個文本標籤,顯示 的文字URL

JLabel urlInputLabel = new JLabel(“URL:”);

//前面定義的文本框的大小

urlInput = new JTextField(60);

//把標籤放在面板里

northPanel.add(urlInputLabel);

//把文本框放在面板里

northPanel.add(urlInput);

//把面板放在床體里,位置在北

this.add(northPanel, BorderLayout.NORTH);

//定義另一個面板

JPanel centerPanel = new JPanel();

//定義文本區域

viewArea = new JTextArea(27, 60);

//文本區域放在面板里

centerPanel.add(new JScrollPane(viewArea));

//面板放在窗體里

this.add(centerPanel);

}

/////////// 你給的時間太少了,寫不完剩下的注釋

// 這個方法用來設置事件

private void initAction() {

//為文本框加事件監聽器

urlInput.addActionListener(new ActionListener() {

//每次時間發生後

public void actionPerformed(ActionEvent e) {

//獲取文本框的值

String text = urlInput.getText();

//看看是不是空的

if (text == null || text.length() == 0) {

//空的話文本區域顯示你沒有輸入URL

viewArea.setText(“您沒有輸入URL”);

//函數退出

return;

}

try {

//定義URL對象,為了訪問網路,他的值就是文本框的網址

URL url = new URL(text);

//調用getContent方法獲取網站的html代碼

String context = getContent(url);

if (context != null) {

//如果獲取的不是空的話,運行searchFromText方法,參數是context

searchFromText(context);

}

//如果發生異常,比如這電腦根本沒網之類的

} catch (MalformedURLException e1) {

//文本區域中現顯示下面的文字

viewArea.setText(“您輸入的URL不合法:” + text);

}

}

});

}

//這個方法是要發送網站訪問請求

private String getContent(URL url) {

//定義一個字元流

StringBuffer builder = new StringBuffer();

//定義伺服器狀態代碼變數,200為正常,4xx,5xx,3xx都是錯誤

int responseCode = -1;

//定義http請求類

HttpURLConnection con = null;

try {

//按照獲取的網址鏈接網站

con = (HttpURLConnection) url.openConnection();

//以火狐瀏覽器的方式發送請求。。 模擬windows電腦上的火狐瀏覽器想訪問這個網頁

con.setRequestProperty(“User-Agent”,

“Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)”);// IE代理進行下載

//發送連接請求後過1分鐘沒響應的話拉倒

con.setConnectTimeout(60000);

//連接成功後1分鐘都讀不完網站代碼的話拉倒

con.setReadTimeout(60000);

// 獲得網頁返回信息碼(就是前面的狀態)

responseCode = con.getResponseCode();

//如果連接失敗,所以那個-1一直沒變

if (responseCode == -1) {

//連接失敗的話,文本區域顯示下面的文字

viewArea.setText(“連接失敗:” + url.toString());

return null;

}

//如果發生錯誤

if (responseCode = 400) {

//發生錯誤的話,文本區域顯示下面的文字

viewArea.setText(“請求失敗,錯誤碼:” + responseCode);

return null;

}

//定義輸入流,把讀出來的網頁代碼保存起來

InputStream is = con.getInputStream();

//輸入流讀出來,放在isr上

InputStreamReader isr = new InputStreamReader(is);

//又把他放在緩存上

BufferedReader br = new BufferedReader(isr);

//定義文本變數

String str = null;

//如果行存在的話

while ((str = br.readLine()) != null)//一行一行的讀,把讀的值給str

//把str上的一行文字加到builder上

builder.append(str);

//輸入流關閉

is.close();

//如果異常,就拋出

} catch (IOException e) {

e.printStackTrace();

//文本區域顯示下面文字

viewArea.setText(“IOException: ” + url.toString());

} finally {

//無論發生錯誤還是不發生 最終把鏈接關閉

con.disconnect();

}

//返回builder

return builder.toString();

}

//這個方法是用正則表達式從獲取的網頁源碼中找到a標籤里的鏈接網址

private void searchFromText(String context) {

viewArea.setText(“查找URL中:\n”);

Pattern pattern = Pattern.compile(“a( [^]+)*(.*?)/a”);

Matcher matcher = pattern.matcher(context);

while (matcher.find()) {

for (String prop : matcher.group(1).split(” “)) {

int indexOf = prop.indexOf(‘=’);

if (indexOf 0) {

if (prop.substring(0, indexOf).equals(“href”)) {

String url2 = prop.substring(indexOf + 2, prop.length() – 1);

viewArea.append(url2 + “\n”);

}

}

}

}

}

}

原創文章,作者:0J05F,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129415.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
0J05F的頭像0J05F
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29

發表回復

登錄後才能評論