我有一段用来学习的java代码,其中有很多问题,请高手帮忙解释一下,谢谢!(回答者可将我的代码拷出,然后在我的注释处回答问题)
代码如下:
//TestMouseEvent.java
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.awt.event.*; //以上四个"import"后面跟的是什么?是java自带的方法吗?
public class TestMouseEvent extends JPanel {//这里的JPanel类是哪里来的?
JButton button;//这里的JButton是不是java自带的类?button是不是自定义的变量名?
public TestMouseEvent(){
button=new JButton("Test");//这里的new的作用是什么?
add(button);//这里的add是一个方法吗?用在这里起什么作用?
button.addMouseListener(new MouseAdapter(){//这里的鼠标事件监听是不是必须要加,才能实现隐藏鼠标的效果?
public void mouseEntered(MouseEvent e){
button.setVisible(false);
}
public void mouseExited(MouseEvent e){
button.setVisible(true);
}
});
} public static void main(String[] args) {//这里的String[]和args分别代表什么意思?可以改成别的吗?
JFrame frame=new JFrame("Test Mouse Event");
frame.addWindowListener(new CloseWindow());
frame.getContentPane().add(new TestMouseEvent());//这里的getContentPane()是什么意思?起什么作用?
frame.pack();//这里的pack是什么意思?
frame.setVisible(true);
}}class CloseWindow extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);//这里exit里面为什么是0而不是别的数字?
}
}
代码如下:
//TestMouseEvent.java
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.awt.event.*; //以上四个"import"后面跟的是什么?是java自带的方法吗?
public class TestMouseEvent extends JPanel {//这里的JPanel类是哪里来的?
JButton button;//这里的JButton是不是java自带的类?button是不是自定义的变量名?
public TestMouseEvent(){
button=new JButton("Test");//这里的new的作用是什么?
add(button);//这里的add是一个方法吗?用在这里起什么作用?
button.addMouseListener(new MouseAdapter(){//这里的鼠标事件监听是不是必须要加,才能实现隐藏鼠标的效果?
public void mouseEntered(MouseEvent e){
button.setVisible(false);
}
public void mouseExited(MouseEvent e){
button.setVisible(true);
}
});
} public static void main(String[] args) {//这里的String[]和args分别代表什么意思?可以改成别的吗?
JFrame frame=new JFrame("Test Mouse Event");
frame.addWindowListener(new CloseWindow());
frame.getContentPane().add(new TestMouseEvent());//这里的getContentPane()是什么意思?起什么作用?
frame.pack();//这里的pack是什么意思?
frame.setVisible(true);
}}class CloseWindow extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);//这里exit里面为什么是0而不是别的数字?
}
}
代码如下:
//TestMouseEvent.java
import javax.swing.*;
import java.awt.*;
import java.io.*;
import java.awt.event.*; //以上四个"import"后面跟的是什么?是java自带的方法吗? ------------是jdk自帶的。
public class TestMouseEvent extends JPanel {//这里的JPanel类是哪里来的? ---------------是swing里面的,也是jdk自帶的
JButton button;//这里的JButton是不是java自带的类?button是不是自定义的变量名? --------YES
public TestMouseEvent(){
button=new JButton("Test");//这里的new的作用是什么? -----創建一個對象
add(button);//这里的add是一个方法吗?用在这里起什么作用?------添加進去啊
button.addMouseListener(new MouseAdapter(){//这里的鼠标事件监听是不是必须要加,才能实现隐藏鼠标的效果? -------廢話,不+你怎么知道什么時候隱藏啊!
public void mouseEntered(MouseEvent e){
button.setVisible(false);
}
public void mouseExited(MouseEvent e){
button.setVisible(true);
}
});
} public static void main(String[] args) {//这里的String[]和args分别代表什么意思?可以改成别的吗? ----------main()就是這樣寫的,你也改不了。
JFrame frame=new JFrame("Test Mouse Event");
frame.addWindowListener(new CloseWindow());
frame.getContentPane().add(new TestMouseEvent());//这里的getContentPane()是什么意思?起什么作用? -------你要顯示出來總歸要容器的不然你怎么顯示啊
frame.pack();//这里的pack是什么意思? -------這是個方法
frame.setVisible(true);
} } class CloseWindow extends WindowAdapter{
public void windowClosing(WindowEvent e){
System.exit(0);//这里exit里面为什么是0而不是别的数字? -------這是說在多少時間后推出。0就是立即,你可以換成別的時間的
}
}
你去看看文檔吧api什么的下次不解釋了
a:是jar包,是jdk自带的.q.这里的JPanel类是哪里来的?
a:import引入的.q.这里的JButton是不是java自带的类?button是不是自定义的变量名?
a:是,上面引入了.是.q.这里的new的作用是什么?
a:创建这个类的对象.q.这里的add是一个方法吗?用在这里起什么作用?
a:是.请查阅jdk文档.q.这里的鼠标事件监听是不是必须要加,才能实现隐藏鼠标的效果?
a:lz你确定被隐藏的是鼠标?q.这里的String[]和args分别代表什么意思?可以改成别的吗?
a:字符串数组类型和引用名.也以写做"String args[]",引用名可以随便改,只要符合命名规范.q.这里的getContentPane()是什么意思?起什么作用?
a:请查阅jdk文档.q.这里的pack是什么意思?
a:请查阅jdk文档.q.这里exit里面为什么是0而不是别的数字?
a:线程退出后的返回值,可以是别的数字.------------------------------------------------------------------对lz有几个建议:
从JavaSE的第一章开始按顺序学习,这样基础扎实.
学习使用JDK文档,这是Java的字典.
翻看网上强人们留下的学习方法,lz的学习方法有改进的余地.以上,喵~~~~``
再次感谢各位!
1是非正常退出吗?不是在 catch 里才用1的么。
不过不建议LZ看thinking in java JAVA的入门书籍都能解决你的问题
不得不承认yami251139 你们真是超级耐心啊....赞个
http://groups.csdn.net/JadeBird/topic/a5fac95c-9595-48af-a293-9b14dd708b21.aspx
http://groups.csdn.net/JadeBird/topic/a5fac95c-9595-48af-a293-9b14dd708b21.aspx