上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组合键结束第一个程序)。