- Java程序設計:原理與范例
- 胡平主編
- 478字
- 2018-12-29 11:56:22
實驗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組合鍵結束第一個程序)。
推薦閱讀
- Getting Started with React
- C++ Builder 6.0下OpenGL編程技術
- Cocos2d-x游戲開發:手把手教你Lua語言的編程方法
- 算法大爆炸:面試通關步步為營
- NativeScript for Angular Mobile Development
- Python王者歸來
- Access 2016數據庫管
- Rust Essentials(Second Edition)
- Linux命令行與shell腳本編程大全(第4版)
- 焊接機器人系統操作、編程與維護
- UVM實戰
- Android移動開發案例教程:基于Android Studio開發環境
- Mastering Docker
- Mastering Concurrency Programming with Java 9(Second Edition)
- Magento 2 Beginners Guide