本文目錄一覽:
急求高手翻譯一段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-hant/n/129415.html