Java程序设计:原理与范例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实验1 熟悉Java编程环境

【实验目的】

(1)了解JDK安装文件的下载及安装选项。

(2)深刻理解环境变量Path和Classpath的作用并能熟练配置。

(3)熟练掌握Java程序的编译和运行方法。

【实验内容】

(1)到Oracle官网下载与你机器相匹配的JDK安装文件并安装,然后配置Path和Classpath环境变量。

(2)安装一个支持Java语法高亮的纯文本编辑工具(如Editplus、UltraEdit、Notepad等)作为Java源文件编辑器。

(3)在D盘下建立MyJavaSource文件夹,并将下面两个类分别保存到该文件夹下的Clock.java和MagicButton.java中(编辑代码时注意采用正确的缩进)。

        Clock.java
        001  import java.text.SimpleDateFormat;
        002  import java.util.Date;
        003
        004  class Timer extends Thread{
        005     private SimpleDateFormat sdf=
                                  new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
        006
        007     public void run(){
        008         while(true){
        009            System.out.print("\r现在时间是:");
        010            Date now=new Date();
        011            System.out.print(sdf.format(now));
        012            try{
        013                sleep(1000);
        014            }catch(InterruptedException e){
        015                e.printStackTrace();
        016            }
        017         }
        018     }
        019  }
        020
        021  public class Clock{
        022     public static void main(String[]args){
        023         Timer timer=new Timer();
        024         timer.start();
        025     }
        026  }
        
        MagicButton.java
        001  import java.awt.Rectangle;
        002  import java.awt.event.MouseAdapter;
        003  import java.awt.event.MouseEvent;
        004  import java.util.Random;
        005
        006  import javax.swing.JButton;
        007  import javax.swing.JFrame;
        008
        009  public class MagicButton extends MouseAdapter{
        010     JFrame win;
        011     JButton button=new JButton("你点不到我");
        012     Random rand=new Random();
        013
        014     void initUI(){
        015         win=new JFrame();
        016         win.setLayout(null);
        017
        018         button.setSize(100,40);
        019         button.addMouseListener(this);
        020
        021         win.add(button);
        022         win.setSize(400,300);
        023         win.setResizable(false);
        024         win.setLocationRelativeTo(null);
        025         win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        026         win.setVisible(true);
        027     }
        028
        029     public static void main(String[]args){
        030         MagicButton demo=new MagicButton();
        031         demo.initUI();
        032     }
        033
        034     public void mouseEntered(MouseEvent e){
        035         int mouseX=button.getX()+e.getX();
        036         int mouseY=button.getY()+e.getY();
        037
        038         int buttonWidth=button.getWidth();
        039         int buttonHeight=button.getHeight();
        040
        041         while(true){
        042            int x=rand.nextInt(win.getWidth()-buttonWidth);
        043            int y=rand.nextInt(win.getHeight()-buttonHeight-20);
        044
        045            Rectangle r=new Rectangle(x, y, buttonWidth, buttonHeight);
        046            if(! r.getBounds().contains(mouseX, mouseY)){
        047                button.setLocation(x, y);
        048                break;
        049            }
        050         }
        051     }
        052  }

(4)参照本章1.5节,分别编译、运行上述两个程序(按Ctrl+C组合键结束第一个程序)。