Java项目体验
- 1. JAVA开发环境安装和配置
a) 下载JDK(Java Development Kit)
b) 安装JDK、 JRE(Java Runtime environment)
c) 配置环境变量:
i. path(系统通过path指定的目录寻找相关的可执行文件!)
右键单击我的电脑à属性à高级à环境变量à修改path即可!
ii. classpath(系统通过classpath寻找类文件)
JDK1.5之后,可以不设置!
- 2. Eclipse的使用(目前使用最多的IDE:integrated development environment集成开发环境)
a) 下载
b) 解压即可
- 3. 新建一个JAVA项目
a) New Java Projectà只需要输入project name,回车即可!
- 4. 新建一个JAVA类
a) 右键单击srcànew àClassà键入类名:BallGame
b) 输入代码:
|
public class BallGame { public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); } } |
c) 运行java程序的三种方式:
i. 右键单击àRun asàjava application
ii. Alt+shift+X,再按J
iii. Ctrl+F11
iv. 单击运行按钮
开始开发我们的小游戏
- 增加窗口
|
import java.awt.*; public class BallGame extends Frame { void launchFrame(){ setSize(500, 300); setLocation(50, 50); setVisible(true); setTitle("尚学堂---张三作品"); setBackground(Color.black); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } } |
- 加载图片
|
在项目下新建images文件夹,将sun.jpg拷贝到images下面 |
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! public void paint(Graphics g){ g.drawImage(sun, 100, 100, null); } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } } |
|
注意:运行时,第一次打开窗口看不到图片。需要将窗口最小化再打开即可看到! |
- 学习画各种曲线、形状、字符串:
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! public void paint(Graphics g){ g.drawImage(sun, 100, 100, null); g.setColor(Color.blue); g.drawLine(100, 100, 200, 200); g.drawRect(50, 50, 100, 80); g.drawOval(50, 50, 100, 80); g.setColor(Color.yellow); g.drawString("游戏开始啦!!", 80, 80); } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } } |
- 增加动画
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! int x=100; int y=100; public void paint(Graphics g){ System.out.println("窗口被画了一次!"); g.drawImage(sun, x, y, null); x = x+2; } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); new PaintThread().start(); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } class PaintThread extends Thread { public void run(){ while(true){ repaint(); //重画窗口! try{ Thread.sleep(40); //40ms 1s=1000ms }catch (Exception e) { e.printStackTrace(); } } } } } |
- 通过我们掌握的数学函数(抛物线、正弦曲线、椭圆等),控制游戏中物体的运动!
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! double x=100; double y=100; double degree = 0; public void paint(Graphics g){ System.out.println("窗口被画了一次!"); g.drawImage(sun, (int)x,(int)y, null); x =150+ 100*Math.cos(degree); y = 150+100*Math.sin(degree); degree = degree + 0.1; } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); new PaintThread().start(); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } class PaintThread extends Thread { public void run(){ while(true){ repaint(); //重画窗口! try{ Thread.sleep(40); //40ms 1s=1000ms }catch (Exception e) { e.printStackTrace(); } } } } } |
- 实现台球的运动!
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! double x=100; double y=100; double degree = 3.14/3; public void paint(Graphics g){ System.out.println("窗口被画了一次!"); g.drawImage(sun, (int)x,(int)y, null); x = x+ 10*Math.cos(degree); y = y+10*Math.sin(degree);
if(y>300-30){ degree = - degree; } if(x>500-30){ degree = 3.14-degree; } if(x<0){ degree = 3.14-degree; } if(y<30){ degree = -degree; } } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); new PaintThread().start(); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } class PaintThread extends Thread { public void run(){ while(true){ repaint(); //重画窗口! try{ Thread.sleep(40); //40ms 1s=1000ms }catch (Exception e) { e.printStackTrace(); } } } } } |
- 通过键盘来控制物体的运动!
[微软用户1]暂时跟我们的游戏无关,但是一些基本的编程知识!
Java项目体验的更多相关文章
- 【Github开源项目体验】- ZFile 基于 Java 的在线网盘
[Github开源项目体验]- ZFile 基于 Java 的在线网盘 在线云盘.网盘.OneDrive.云存储.私有云.对象存储.h5ai.上传.下载 date: 2022-08-02 addres ...
- JetBrains Fleet初体验,如何运行一个java项目
序言 各位好啊,我是会编程的蜗牛,JetBrains 日前宣布其打造的下一代 IDE Fleet 正式推出公共预览版,现已开放下载.作为java开发者,对于JetBrains开发的全家桶可以说是印象深 ...
- 第1章Java入门体验
第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...
- Windows Server 2012 R2服务器部署Tomcat JDK、安装Mysql以及将Java项目部署到CVM
我们平时所调试的Java Web 项目需要在本地Eclipse或者MyEclipse当中开发调试,并且部署到Tomcat上来测试,比如说笔者这里用的eclipse添加tomcat服务器, 但是这里发布 ...
- Java项目框架搭建系列(Java学习路线)
前言: 已经工作4年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...
- 细数Java项目中用过的配置文件(YAML篇)
灵魂拷问:YAML,在项目中用过没?它与 properties 文件啥区别? 目前 SpringBoot.SpringCloud.Docker 等各大项目.各大组件,在使用过程中几乎都能看到 YAML ...
- 从零构建Java项目(Maven+SpringBoot+Git) #02 奥斯丁项目
前两天我说要写个项目来持续迭代,有好多小伙伴都表示支持和鼓励,项目的第一篇这不就来了么~我给项目取了个名字,英文名叫做:austin,中文名叫做:奥斯丁 名字倒没有什么特别的含义,我单纯觉得这个名字好 ...
- eclipse — 导入android项目后识别成java项目的问题及解决
最近在eclipse导入android项目的时候遇到了奇葩问题,再此记录 遇到的问题就是:将完好的android项目导入到eclipse的时候,原本这是一个很容易的事情,但是导入成功后发现,,,靠ec ...
- owner:轻松管理java项目配置
前段时间,一同事说在 github 上“活捉了”一个很有趣的开源项目,它是一个超轻量级的 jar 包,能够帮助你在 java 项目中摒弃样板式的 properties 配置代码,让你轻松自如地管理和使 ...
随机推荐
- 【转】float类型在内存中的表示
http://www.cnblogs.com/onedime/archive/2012/11/19/2778130.html http://blog.csdn.net/adream307/articl ...
- java.lang.NoSuchMethodError问题处理
出现这个问题一般是jar包冲突了,我找了很久没找到是哪个jar冲突了.最后用下面的这段代码,找到是哪个jar冲突了 /** * find jar file */ String LOCATION = & ...
- Knight Probability in Chessboard
2018-07-14 09:57:59 问题描述: 问题求解: 本题本质上是个挺模板的题目.本质是一个求最后每个落点的数目,用总的数目来除有所可能生成的可能性.这种计数的问题可以使用动态规划来进行解决 ...
- 关于网站的SYN_RECV(SYN_RECEIVED)***的防范措施
关于网站的SYN_RECV(SYN_RECEIVED)***的防范措施 一.总结 一句话总结:SYN ***是最常见又最容易被利用的一种***手法.相信很多人还记得2000年YAHOO网站遭受的*** ...
- English trip -- VC(情景课) 8 B job duties 工作职责
Vocabulary focus 核心词汇 She is a receptionist. She answers the phone. She is a cashier She counts mon ...
- Android之设计模式
设计模式的概念 1.基本定义:设计模式(Design pattern)是一套被反复使用的代码设计经验的总结.使用设计模式的目的是为了可重用代码.让代码更容易被他人理解.设计模式是是软件工程的基石脉络, ...
- ccf窗口
#include<iostream> #include<cstring> #include<algorithm> #include<vector> us ...
- C++中的初始化参数列表
c++中以下几种情况的变量的初始化不可以写在构造函数里,而是要写在初始化参数列表中 1.const常量 class AA { public : const int num; public : AA() ...
- 硬盘分区表知识——详解硬盘MBR (转)
Ref: http://www.blogjava.net/galaxyp/archive/2010/04/25/319344.html 硬盘是现在计算机上最常用的存储器之一.我们都知道,计算机之所以神 ...
- Erlang:Error in process ... with exit value
=ERROR REPORT==== 10-Apr-2015::16:30:04 ===Error in process <0.218.0> with exit value: {badarg ...