自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苏苏爱自由

生如夏花之绚烂,死如秋叶之静美。

原创 JAVA自定义注解使用

说到注解 在java中我们经常会看到@Override,@Deprecated,@SuppressWarnings这些注解。这些都是JDK自带的注解 关于自定义注解: 1.使用@interface关键字定义注解 2.成员以无参方式声明 3.成员可以使用default指定一个默认值 ...

2016-10-30 17:15:55 3302 0

原创 Java反射机制学习

一.概念 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语...

2016-10-26 17:39:19 2520 0

原创 java动态加载类和静态加载类

一.什么是动态加载类 什么是静态加载类 Class.forName 不仅表示类的类类型,还代表了动态加载类。编译时加载是静态加载类, 运行时加载是动态加载类。 请大家区分编译 运行。 二.为何要使用动态加载类 我们写了一个程序 并没有写A类和B类以及start方法  public class M...

2016-10-26 16:23:40 4724 0

原创 MyEclipse10 激活教程

首先要保证jdk环境变量已经配置好 双击run.bat 【第一步】:输入任意用户名 【第二步】:点击Systemid... 按钮,自动生成本机器的systemid。 【第三步】: 点菜单Tools->RebuildKey 【第四步】:点击active按钮.会在显示区域生成 L...

2016-10-23 22:13:36 3380 2

原创 JAVA进阶案例 TCP编程之网络聊天工具(客户端)

首先附上登录操作 登录界面就不说了,直说业务处理。当点击登录之后 /* * 如果点击了登录按钮 首先判断帐号或者密码是否为空 然后封装为CommandTranser对象 向服务器发送数据 服务器通过与数据库的比对 * 来验证帐号密码 */ if (e.getSou...

2016-10-22 22:07:39 4243 20

原创 JAVA进阶案例 TCP编程之网络聊天工具(服务端)

说一下运行流程 客户端选择‘登录以后’后,提示输入用户名和密码,验证成功则进入好友列表界面 2.用户聊天 双击好友,进入好友聊天界面

2016-10-22 21:04:45 4075 1

原创 Java Swing 水晶界面 Nimbus风格

Sun曾经开发了两套独立与平台的观感,一个称为Metal另外一个是在JAVA SE 6中新加入的水晶风格Nimubs Meta风格 Nimbus风格 如果为一个Swing应用程序指令观感,其观感默认设置为Metal。 若要换成Nimbus风格只需在初始化界面时加上这句代码 ...

2016-10-22 10:45:32 5416 1

原创 使用url读取csdn的博客访问量并将记录保存到本地

今天晚上我发现我有一个毛病 总喜欢看自己的博客访问量。。。 看着一点一点的增加 就有一种学习,写博客的动力  记得以前自己记录下来时间  然后记录下访问量  ...想想好幼稚 既然想成为一个程序员  当然要方便自己了~ 所以就写了一个小程序 开始了 既然要读取你的博客访问量  找到你csdn的随便...

2016-10-20 22:13:49 3889 0

原创 如何为JLabel添加背景色和设置其imageicon的位置和大小

nickname = new JLabel[50]; ImageIcon icon=new ImageIcon("image/head.jpg"); //设置icon的大小 icon.setImage(icon.getImage().getScaledInstanc...

2016-10-20 19:14:42 11392 0

原创 java的icon完全填充jbutton

实现代码如下: login = new JButton(); ImageIcon login_btn = new ImageIcon("image/login_btn.png"); //设置图片的大小 login_btn.setImage(login_btn.ge...

2016-10-20 18:11:24 3728 0

原创 关于客户端断开连接后服务器抛出异常Connection reset

学习了socket  ,在做一个类似qq的c/s结构的聊天软件。发现了一个问题 就是在客户端与服务器通信后,服务器为客户端开启一个线程,使用while(true)循环时刻监听是否有通信。 在界面开启时没有任何异常,可是当界面关闭 就一直抛出异常了。 开启线程代码如下: 异常内容如下...

2016-10-19 21:26:50 7327 2

原创 invalid type code: AC异常

今天在练习网络通信发现了这个错误 。。我是很迷茫啊 后来就是随意修改了一下  竟然不报错了、还是学习太少 错误代码(部分) public void run() { ObjectInputStream ois = null; ObjectOutputStream oos = null; ...

2016-10-19 20:27:25 6279 0

原创 Socket实例之客户端向服务端数据库上传文件UI版

运行结果: 首先实现分析: 1用户注册 客户单选择‘用户注册’,提示要输入用户名,密码,确认密码,校验成功后将用户 信息保存到数据库,并提示数据库注册成功,请登录 2用户登录 客户端选择‘登录以后’后,提示输入用户名和密码,验证成功则提示上传文件 ,验证失败则给出提示信息,并可以重新登录 3文件上...

2016-10-18 08:51:23 7873 22

原创 Data too long for column 'filecontent' at row 1

我的filecontent是blob类型   百度了一下发现 MySQL的四种BLOB类型   类型 大小(单位:字节)   TinyBlob 最大 255   Blob 最大 65K   MediumBlob 最大 16M   LongBlob 最大 4G 而我上...

2016-10-17 22:52:56 4396 0

原创 关于socket write error 和Software caused connection abort: recv failed 错误

Software caused connection abort: recv failed  错误 @Override public void run() { // TODO Auto-generated method stub ObjectInputStream ois = null...

2016-10-17 17:46:13 3115 0

原创 使用多线程实现多客户端的连接(通过Socket实现TCP编程)

服务器线程类 package com.susu; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; i...

2016-10-16 21:17:41 6742 2

原创 java使用url读取网页资源

package com.susu; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import ...

2016-10-16 11:17:29 4406 0

原创 TankWar 单机(JAVA版)版本2.3~版本2.4 为坦克画血条

运行结果: 为了在坦克上方画血条 。血条首先要有坐标x,y  宽和高width和height 血量的多少life也要有。 所以新建类Life要有这些参数 Life类如下: package tankWar; import java.awt.Color; import java.a...

2016-10-14 14:38:48 3011 1

原创 TankWar 单机(JAVA版)版本2.2 超级炮弹

既然我们能够实现一个方向的发子弹,那么根据同样的道理 也能够实现八个方向的发子弹。 首先在Tank类的KeyPress方法里面加上按键A的事件 // 我方坦克的键盘按下事件 public void keyPressed(KeyEvent e) { // TODO Auto-generate...

2016-10-14 14:10:35 1648 0

原创 TankWar 单机(JAVA版)版本2.0.5 坦克撞墙的处理

首先附上运行结果: 从图中可以看完无论是我的坦克 还是敌方坦克都不能通过石头墙 土墙 水池。可以通过灌木丛 道理和子弹击中坦克一样。获取地图的矩形位置,坦克的矩形位置,判断两个矩形是否相交。如果相交再根据地形是否为灌木丛 等,让坦克回到移动前的位置。 首先在wall类中求出各种地形...

2016-10-09 19:59:09 2900 0

原创 c++和数据结构 模拟栈的入栈和出栈

c++学了类   老师就让写了这个、、、 #include #include using namespace std; class Stack { public: void push(int x); void init(); int pop(); struct stack ...

2016-10-09 19:02:47 5722 1

原创 TankWar 单机(JAVA版)版本2.0.1 在地图中加入墙体

在地图中加入障碍物,首先说说我的思路。 我把整个panel看作一个二维的数组,然后为这个二维数组赋不同的值。 二维数组的值表示我们地图所需的土墙  石头墙  灌木丛 水池等。 在加载地图时我们遍历地图集合,画出地图。 首先新建了一个Wall类 package tankWar; import ja...

2016-10-08 23:04:03 1893 2

原创 TankWar 单机(JAVA版)版本1.9 敌军坦克自动移动 自动攻击 及判断边界

按照项目来吧 首先是让敌军坦克动起来 ,要想让敌军坦克动起来 要明白我方坦克是怎么动的呢? 你会说按上下左右键 ,仔细想想怎么让敌军坦克模拟按了上下左右键? 我们按上下左右键主要是让给坦克一个方向,不停按就会移动 也就是步数。 概括可以得到 只要给坦克步数和方向就能实现自动移动了。 获得...

2016-10-08 17:52:01 2923 1

原创 TankWar 单机(JAVA版)版本1.7&&版本1.8 坦克死亡的爆炸和画出多个敌方坦克

首先看版本1.8  添加多辆坦克。 还记得在前面版本1.5中我们用了一个集合用来保存敌方坦克吗? 用处就是在这里了   修改addEnemyTanks方法  循环多次  就能创建多个坦克了 比如加入八个敌方坦克 // 向集合中添加敌方坦克 private void addEnemyTa...

2016-10-07 20:13:56 1999 0

原创 TankWar 单机(JAVA版) 提前优化 图形化

有人给我说画的坦克太难看了   本来我是打算在最后在用图片的 既然这样  那么在后面我们就使用图片吧 所有图片都在源代码里面 请自己下载  在最下面 到目前我们用到图片的地方只有子弹,敌方坦克和我方坦克的八个方向  在这里我们使用ToolKit工具箱里面的getImage方...

2016-10-07 13:46:16 1761 0

原创 TankWar 单机(JAVA版) 版本1.6 将敌人坦克击毙

可以看看ppt的步骤。其实思路也是很简单 把坦克 和子弹都看作一个矩形 Rectangle 然后使用 Rectangle类中的碰撞检测方法 A.intersects(B) 如果返回值为true就表示矩形A和矩形B相交,即碰撞。 既然有了思路 那么就要一点一点解决问题。 首先要获得子弹的矩形对象和坦...

2016-10-07 13:05:16 1775 0

原创 TankWar 单机(JAVA版) 版本1.5 画一辆敌方的坦克

既然是敌方坦克  肯定和我方坦克有区别  那么就在Tank类中定义一个布尔型的good变量 用来区分敌我坦克,同时将good变量放入构造方法。 public Tank(int x, int y, int width, int height,boolean good) { super(); ...

2016-10-07 11:25:13 1720 0

原创 TankWar 单机(JAVA版) 版本1.0~版本1.4 坦克方向打出多发子弹 并解决子弹不消亡问题

首先新建一个子弹类 由于要画子弹,所以变量肯定要有坐标x,y,宽高width,height.方法要有draw方法用来绘制子弹 而子弹移动还有子弹的方向dir.子弹的移动速度speed。 要判断子弹是否消亡 所以还要布尔变量bLive表示当前子弹的存亡状态 所有变量的Get set方法一定要...

2016-10-06 20:09:12 1997 0

原创 TankWar 单机(JAVA版) 版本0.7~版本0.9 让坦克实现八个方向的移动

运行结果: 版本0.7的项目要求是将坦克单独封装为一个类  在前面我们一直就是按照把坦克封装承类实现的。所以这里就不再写了。 然后就是版本0.8了  控制坦克八个方向移动。 首先说一下思路: 我们可以设置四个方向的boolean变量 然后根据键盘事件  来判断你按了哪个键来使对应方向的boo...

2016-10-06 13:17:11 2477 0

原创 TankWar 单机(JAVA版)优化炮杆和坦克移动方向不一致

在上篇文章中我们发现炮杆方向和移动方向不一致  如图: 那么要怎么优化呢? 也就是在画炮杆时根据当前坦克的方向画。所以需要一个枚举变量Direction 来监视当前坦克的方向 新建一个枚举变量: package tankWar; public enum Direction { U,D,L,...

2016-10-05 13:22:20 1933 0

原创 TankWar 单机(JAVA版) 版本0.4~版本0.6 让坦克动起来

版本0.4的项目要求是让坦克动起来 由于在版本0.6也是让坦克听从我们指挥  等会再写 在这里主要是建立一个屏幕刷新线程  使屏幕达到时时刷新的效果 代码如下: public class updateThread extends Thread{ @Override public void ...

2016-10-05 12:47:05 2072 0

原创 TankWar 单机(JAVA版) 版本0.3 画出坦克

其实就是通过自定义的panel  重写里面的paint方法  使用Graphics类画一个圆 然后把自定的panel添加到窗口中 由于想到tank不能只画一个  所以我们封装一个tank类  里面有一个draw方法 用来画 坦克 通过实例化tank  调用draw方法就能实现画tank了

2016-10-05 12:05:37 1876 0

原创 TankWar 单机(JAVA版) 版本0.1&&版本0.2 显示一个窗口

上面是项目要求   继承JFrame  就能实现一个窗口了 没有什么好解释的 具体看代码注释 package tankWar; import javax.swing.JFrame; public class TankClient extends JFrame{ //窗口的高度 public...

2016-10-05 11:00:37 1633 0

原创 TankWar单机 (JAVA版) 目录

早就想写了  一直都在忙  暑期去了无锡一个月见习  白天电脑没网  晚上网速十几K  csdn都登录不上  。 7.5-7.29暑期结束就回家了三天  看看奶奶  。然后8.3就又到学校了 ,看着15acm成员的集训。然后8.13号数学建模 的培训  培训到8.28号。就开学了。。又报了驾校  ...

2016-10-05 10:40:49 2033 13

原创 HTML中使用cookie保存登录账户

用户点击登录按钮后 判断当前账户是否存在 如果存在 并且勾选了记住帐号 使用cookie保存帐号密码 如果存在 但是没有勾选记住帐号 遍历cookie 删除帐号密码 //判断当前用户是否存在 if(loginDao.userLogin(loginUser)){ String [] isUse...

2016-10-04 20:43:45 8573 6

提示
确定要删除当前文章?
取消 删除