本文目录一览:
急求高手翻译一段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");
}
}
}
}
}
}