Java项目体验

  1. 1.       JAVA开发环境安装和配置

a)         下载JDK(Java  Development  Kit)

b)         安装JDK、 JRE(Java  Runtime  environment)

c)         配置环境变量:

i.              path(系统通过path指定的目录寻找相关的可执行文件!)

右键单击我的电脑à属性à高级à环境变量à修改path即可!

ii.              classpath(系统通过classpath寻找类文件)

JDK1.5之后,可以不设置!

  1. 2.       Eclipse的使用(目前使用最多的IDE:integrated development environment集成开发环境)

a)         下载

b)         解压即可

  1. 3.       新建一个JAVA项目

a)         New  Java  Projectà只需要输入project name,回车即可!

  1. 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.              单击运行按钮

开始开发我们的小游戏

  1. 增加窗口

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();

}

}

  1. 加载图片

在项目下新建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();

}

}


注意:运行时,第一次打开窗口看不到图片。需要将窗口最小化再打开即可看到!

  1. 学习画各种曲线、形状、字符串:

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();

}

}

  1. 增加动画

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();

              }

           }

       }

    }

}

  1. 通过我们掌握的数学函数(抛物线、正弦曲线、椭圆等),控制游戏中物体的运动

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();

}

}

}

}

}

  1. 实现台球的运动!

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. 通过键盘来控制物体的运动!

[微软用户1]暂时跟我们的游戏无关,但是一些基本的编程知识!

时间: 2024-09-29 08:24:49

Java项目体验的相关文章

Protocol Buffers(protobuf)java初体验

由于项目需要所以简单的研究了下protobuf.我也是参照网上的博客,所以大部分内容我也就不重复造轮子了.首先protobuf介绍点击这里,使用介绍点击这里,使用demo看这里.我个人的第一个例子也是参照这个demo来的,不过其中我有遇到一些问题,所以揪出来说说,也就给自己做个笔记,方便查阅. 基本的东西相信大家也了解了,直接步入主题了: 1.限定修饰符介绍 required\optional\repeated,之前给定的博客已经有这个介绍了我也不多说,这里把一些小玩儿拿出来讲讲 ①.requi

java项目中META-INF的作用中MANIFEST.MF的作用(转载)

发布Java应用程序时你会感到困难?好在Java提供了一系列打包和发布工具,可以显著的简化发布过程 该文章提供了打包Java code的几种方法,我们将会探讨Java manifest 文件,给出用于管理JAR文件所依赖文件.估计跨平台发布所需的CLasspath的合适方法.我也会解释如何使用manifest包版本特性来确认包的兼容性... 什么是JAR文件? 在开发过程中,我们可以直接使用Java class文件来运行程序,但这并不是一个好方式,好在Java 提供了 JAR(Java Arch

第1章Java入门体验

第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括:变量.语法.面向对象,API,JVM等等再Java SE基础之上分为两个部分.一个是开发企业级的服务,一个是嵌入式的开发Java EE是企业级的开发,主要包括:JSP.EJB.服务等等.Java ME是嵌入式的开发,主要有移动设备,游戏,通信等初学的基本路线都是从Java SE出发,先学基础,再学方

【java项目实践】详解Ajax工作原理以及实现异步验证用户名是否存在+源码下载(java版)

一年前,从不知道Ajax是什么,伴随着不断的积累,到现在经常使用,逐渐有了深入的认识.今天,如果想开发一个更加人性化,友好,无刷新,交互性更强的网页,那您的目标一定是Ajax. 介绍 在详细讨论Ajax是什么之前,先让我们花一分钟了解一下Ajax做什么.如图所示: 如上图展示给我们的就是使用Ajax技术实现的效果.伴随着web应用的越来越强大而出现的是等待,等待服务器响应,等待浏览器刷新,等待请求返回和生成新的页面成为了程序员们的最最头疼的难题.随着Ajax的出现使web应用程序变得更完善,更友

Java项目框架搭建系列(Java学习路线)

前言: 已经工作4年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务逻辑开发. 如果你更努力一点,你可能有去摸索一些配置的作用,一些问题的排查会更有经验和自己的想法. 如果你好奇心更强一点,可能会去了解一些框架的原理,各个框架之间是怎么相互协助工作的.自己能否从无到有将这些框架串联起来. 想写一系列这样的文章:将Java项目开发过程中的一些框架,如何一步步串联起来,

项目总结50:Linux服务器上web项目Java项目性能调优

项目总结50:Linux服务器上web项目Java项目性能调优 最近上线的电商项目,发现非常卡,用户体验非常差,折腾了好久之后,也逐渐找到原因,并针对原因解决方案,先整理总结. 项目基本情况: 1-使用阿里ECS.OSS等一系列相关服务: 2-用户总量1W+,日活量500+ 3-电商项目,有APP.小程序.管理平台三个模块,其中接口150+ 4-项目使用SSM框架: 5-项目tomcat服务,数据库Mysql,Redis放在一个同一个服务器上: 问题表现: 1-接口反应非常慢,导致APP和小程序

Ant入门教程之部署Java项目

Ant可以代替使用javac.java和jar等命令来执行java操作,从而达到轻松的构建和部署Java工程的目的. 1.利用ant的javac命令来编译Java程序 Ant的javac命令用于实现编译Java程序的功能.下面来看一个简单的例子:首先我们建立名为 JavaPro的Java项目, 建立src目录为源代码目录,在src目录下建立TestAnt.java这个类文件.该类文件的内容如下: package com.home; public class TestAnt{ public sta

Java项目生成可执行jar包、exe文件以及在Windows下的安装文件

1.如何通过eclipse将Java项目生成可执行jar包 首先把在eclipse下的java项目导出jar file 下一步 下一步 下一步 最后点击完成,便生成了可执行的jar文件.可以在刚刚选择导出目录的文件夹中找到. 2.将刚刚生成的jar文件导出可执行的.exe文件,首先安装exe4j软件,下载地址如下:http://www.jb51.net/softs/541579.html,下载后安装破解.打开界面如下 直接下一步,选择第二个 下一步 下一步 如果要在64位下运行,则要点击下面那个

在LINUX上部署带有JAR包的JAVA项目

         在LINUX上部署带有JAR包的JAVA项目 首先eclipse上要装上一个小插件,叫做Fat Jar 点击Fat Jar 红框里选上主类点击Next 如图把勾打上 在该路径下找到jar包 通过ftp协议把jar包放在linux服务器下 进入到jar包路径 输入指令 java -jar XXX.jar 运行成功! 注意!!!!!!!!!!!!!!!! 当你断开服务器连接时,工程会停止! 所以要用下面的指令 指令:nohup java -jar XXX.jar 通过指令ps -e