我有一段用来学习的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而不是别的数字?
}
}

解决方案 »

  1.   

    我有一段用来学习的java代码,其中有很多问题,请高手帮忙解释一下,谢谢!(回答者可将我的代码拷出,然后在我的注释处回答问题)  
    代码如下:  
    //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什么的下次不解釋了
      

  2.   

    一个参数而已,参数是多少,你应该查JDK文档。
      

  3.   

    q.以上四个"import"后面跟的是什么?是java自带的方法吗? 
    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的学习方法有改进的余地.以上,喵~~~~``
      

  4.   

    嗯,谢谢各位的建议和解释!我是做数据库的,今天是我自学java的第四天,看到这段代码,感觉有些不明白的地方,就贴出来发问,问题比较菜,还望见谅!
    再次感谢各位!
      

  5.   

    System.exit  的意思不是  0是正常退出
     1是非正常退出吗?不是在 catch 里才用1的么。
      

  6.   

     ~~~O_O~~~~~~看yami251139和猫仙的解释从字里行间飘出了一种~~~~~~~~~~~~~建议lz先看些基础书籍,thinking in java 什么的。这样对代码的理解就会好很多。
      

  7.   

    O_O楼上的说的好
    不过不建议LZ看thinking in java JAVA的入门书籍都能解决你的问题
    不得不承认yami251139 你们真是超级耐心啊....赞个
      

  8.   

    建议看《Java编程思想》这本书,或都是孙鑫的视频教程。我这儿有孙鑫Java的全套视频可供你学习使用,它里面你视频,源代码,还是PPT课件,挺不错的告别适合初学都,还有全部是免费的,特拿来和楼主分享,至于你提到的问题看API后你会是一个本质上的认识的。《快速掌握Java》孙鑫(视频+源码+PPT)系列视频教程免费下载! 
    http://groups.csdn.net/JadeBird/topic/a5fac95c-9595-48af-a293-9b14dd708b21.aspx
      

  9.   

    《快速掌握Java》孙鑫(视频+源码+PPT)系列视频教程免费下载! 
    http://groups.csdn.net/JadeBird/topic/a5fac95c-9595-48af-a293-9b14dd708b21.aspx