- 博客(34)
- 资源 (12)
- 问答 (4)
- 收藏
- 关注
原创 JAVA自定义注解使用
说到注解 在java中我们经常会看到@Override,@Deprecated,@SuppressWarnings这些注解。这些都是JDK自带的注解关于自定义注解:1.使用@interface关键字定义注解2.成员以无参方式声明3.成员可以使用default指定一个默认值4.如果只有一个成员 成员名必须为value().使用时 可以忽略=号元注解:@Targe
2016-10-30 17:15:55 4209
原创 Java反射机制学习
一.概念JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言
2016-10-26 17:39:19 2728
原创 java动态加载类和静态加载类
一.什么是动态加载类 什么是静态加载类Class.forName 不仅表示类的类类型,还代表了动态加载类。编译时加载是静态加载类,运行时加载是动态加载类。请大家区分编译 运行。二.为何要使用动态加载类我们写了一个程序 并没有写A类和B类以及start方法 public class Main{ public static void main(String args[])
2016-10-26 16:23:40 5685
原创 JAVA进阶案例 TCP编程之网络聊天工具(客户端)
首先附上登录操作登录界面就不说了,直说业务处理。当点击登录之后/* * 如果点击了登录按钮 首先判断帐号或者密码是否为空 然后封装为CommandTranser对象 向服务器发送数据 服务器通过与数据库的比对 * 来验证帐号密码 */ if (e.getSource() == login) { String username = text_name.ge
2016-10-22 22:07:39 4850 20
原创 JAVA进阶案例 TCP编程之网络聊天工具(服务端)
说一下运行流程客户端选择‘登录以后’后,提示输入用户名和密码,验证成功则进入好友列表界面2.用户聊天双击好友,进入好友聊天界面
2016-10-22 21:04:45 4556 1
原创 Java Swing 水晶界面 Nimbus风格
Sun曾经开发了两套独立与平台的观感,一个称为Metal另外一个是在JAVA SE 6中新加入的水晶风格NimubsMeta风格Nimbus风格如果为一个Swing应用程序指令观感,其观感默认设置为Metal。若要换成Nimbus风格只需在初始化界面时加上这句代码 UIManager.setLookAndFeel("com.sun.java.swing.plaf
2016-10-22 10:45:32 6774 1
原创 使用url读取csdn的博客访问量并将记录保存到本地
今天晚上我发现我有一个毛病 总喜欢看自己的博客访问量。。。看着一点一点的增加 就有一种学习,写博客的动力 记得以前自己记录下来时间 然后记录下访问量 ...想想好幼稚既然想成为一个程序员 当然要方便自己了~所以就写了一个小程序开始了既然要读取你的博客访问量 找到你csdn的随便一篇文章 或者主页。(比如我的:http://blog.csdn.net/su201451
2016-10-20 22:13:49 4471 1
原创 如何为JLabel添加背景色和设置其imageicon的位置和大小
nickname = new JLabel[50]; ImageIcon icon=new ImageIcon("image/head.jpg"); //设置icon的大小 icon.setImage(icon.getImage().getScaledInstance(50, 50, Image.SCALE_DEFAULT)); for (int i = 0; i < ni
2016-10-20 19:14:42 14115
原创 java的icon完全填充jbutton
实现代码如下:login = new JButton(); ImageIcon login_btn = new ImageIcon("image/login_btn.png"); //设置图片的大小 login_btn.setImage(login_btn.getImage().getScaledInstance(200, 25, Image.SCALE_DEFAULT))
2016-10-20 18:11:24 4747
原创 关于客户端断开连接后服务器抛出异常Connection reset
学习了socket ,在做一个类似qq的c/s结构的聊天软件。发现了一个问题就是在客户端与服务器通信后,服务器为客户端开启一个线程,使用while(true)循环时刻监听是否有通信。在界面开启时没有任何异常,可是当界面关闭 就一直抛出异常了。开启线程代码如下:异常内容如下:java.net.SocketException: Connection resetat
2016-10-19 21:26:50 10072 2
原创 invalid type code: AC异常
今天在练习网络通信发现了这个错误 。。我是很迷茫啊后来就是随意修改了一下 竟然不报错了、还是学习太少错误代码(部分)public void run() { ObjectInputStream ois = null; ObjectOutputStream oos = null; try { ois = new ObjectInputStream(socket.getI
2016-10-19 20:27:25 11639 2
原创 Socket实例之客户端向服务端数据库上传文件UI版
运行结果:首先实现分析:1用户注册客户单选择‘用户注册’,提示要输入用户名,密码,确认密码,校验成功后将用户信息保存到数据库,并提示数据库注册成功,请登录2用户登录客户端选择‘登录以后’后,提示输入用户名和密码,验证成功则提示上传文件,验证失败则给出提示信息,并可以重新登录3文件上传客户端输入上传文件的路径,并读取文件数据,通过输出流发送到服务端,服务端接受
2016-10-18 08:51:23 8427 22
原创 Data too long for column 'filecontent' at row 1
我的filecontent是blob类型 百度了一下发现MySQL的四种BLOB类型 类型 大小(单位:字节) TinyBlob 最大 255 Blob 最大 65K MediumBlob 最大 16M LongBlob 最大 4G 而我上传的图片是200多k 。。blob类型的存不下了于是我修改为MediumBlob 类型 果然解
2016-10-17 22:52:56 4915
原创 关于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; ObjectOutputStream oos = null; try { ois =
2016-10-17 17:46:13 3780
原创 使用多线程实现多客户端的连接(通过Socket实现TCP编程)
服务器线程类package com.susu;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWri
2016-10-16 21:17:41 8875 2
原创 java使用url读取网页资源
package com.susu;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.Malforme
2016-10-16 11:17:29 5089
原创 TankWar 单机(JAVA版)版本2.3~版本2.4 为坦克画血条
运行结果:为了在坦克上方画血条 。血条首先要有坐标x,y 宽和高width和height血量的多少life也要有。所以新建类Life要有这些参数Life类如下:package tankWar;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import jav
2016-10-14 14:38:48 3592 1
原创 TankWar 单机(JAVA版)版本2.2 超级炮弹
既然我们能够实现一个方向的发子弹,那么根据同样的道理 也能够实现八个方向的发子弹。首先在Tank类的KeyPress方法里面加上按键A的事件 // 我方坦克的键盘按下事件 public void keyPressed(KeyEvent e) { // TODO Auto-generated method stub switch (e.getKeyCode()) { case
2016-10-14 14:10:35 1868
原创 TankWar 单机(JAVA版)版本2.0.5 坦克撞墙的处理
首先附上运行结果:从图中可以看完无论是我的坦克 还是敌方坦克都不能通过石头墙 土墙 水池。可以通过灌木丛道理和子弹击中坦克一样。获取地图的矩形位置,坦克的矩形位置,判断两个矩形是否相交。如果相交再根据地形是否为灌木丛等,让坦克回到移动前的位置。首先在wall类中求出各种地形的宽和高public void setWidthAndHeight(Image img) {
2016-10-09 19:59:09 3416
原创 c++和数据结构 模拟栈的入栈和出栈
c++学了类 老师就让写了这个、、、#include #include using namespace std;class Stack{ public: void push(int x); void init(); int pop(); struct stack { int num; stack *next ,*pre; }*head;};
2016-10-09 19:02:47 6838 1
原创 TankWar 单机(JAVA版)版本2.0.1 在地图中加入墙体
在地图中加入障碍物,首先说说我的思路。我把整个panel看作一个二维的数组,然后为这个二维数组赋不同的值。二维数组的值表示我们地图所需的土墙 石头墙 灌木丛 水池等。在加载地图时我们遍历地图集合,画出地图。首先新建了一个Wall类package tankWar;import java.awt.Graphics;import java.awt.Image;import
2016-10-08 23:04:03 2211 2
原创 TankWar 单机(JAVA版)版本1.9 敌军坦克自动移动 自动攻击 及判断边界
按照项目来吧首先是让敌军坦克动起来 ,要想让敌军坦克动起来 要明白我方坦克是怎么动的呢?你会说按上下左右键 ,仔细想想怎么让敌军坦克模拟按了上下左右键?我们按上下左右键主要是让给坦克一个方向,不停按就会移动 也就是步数。概括可以得到 只要给坦克步数和方向就能实现自动移动了。获得随机方向:首先定义一个变量 //随机数 private Random r=new Rando
2016-10-08 17:52:01 3685 1
原创 TankWar 单机(JAVA版)版本1.7&&版本1.8 坦克死亡的爆炸和画出多个敌方坦克
首先看版本1.8 添加多辆坦克。还记得在前面版本1.5中我们用了一个集合用来保存敌方坦克吗?用处就是在这里了 修改addEnemyTanks方法 循环多次 就能创建多个坦克了比如加入八个敌方坦克// 向集合中添加敌方坦克 private void addEnemyTanks() { // TODO Auto-generated method stub for(
2016-10-07 20:13:56 2312
原创 TankWar 单机(JAVA版) 提前优化 图形化
有人给我说画的坦克太难看了 本来我是打算在最后在用图片的既然这样 那么在后面我们就使用图片吧所有图片都在源代码里面 请自己下载 在最下面到目前我们用到图片的地方只有子弹,敌方坦克和我方坦克的八个方向 在这里我们使用ToolKit工具箱里面的getImage方法来读取本地图片 当然ImageIO也行 自己选择首先tank类实例化一个ToolKi
2016-10-07 13:46:16 1969
原创 TankWar 单机(JAVA版) 版本1.6 将敌人坦克击毙
可以看看ppt的步骤。其实思路也是很简单把坦克 和子弹都看作一个矩形 Rectangle 然后使用 Rectangle类中的碰撞检测方法A.intersects(B) 如果返回值为true就表示矩形A和矩形B相交,即碰撞。既然有了思路 那么就要一点一点解决问题。首先要获得子弹的矩形对象和坦克的矩形对象分别在子弹类中和坦克类中新增一个getRec方法public Rectan
2016-10-07 13:05:16 2115
原创 TankWar 单机(JAVA版) 版本1.5 画一辆敌方的坦克
既然是敌方坦克 肯定和我方坦克有区别 那么就在Tank类中定义一个布尔型的good变量用来区分敌我坦克,同时将good变量放入构造方法。public Tank(int x, int y, int width, int height,boolean good) { super(); this.x = x; this.y = y; this.width = width;
2016-10-07 11:25:13 2036
原创 TankWar 单机(JAVA版) 版本1.0~版本1.4 坦克方向打出多发子弹 并解决子弹不消亡问题
首先新建一个子弹类由于要画子弹,所以变量肯定要有坐标x,y,宽高width,height.方法要有draw方法用来绘制子弹而子弹移动还有子弹的方向dir.子弹的移动速度speed。要判断子弹是否消亡 所以还要布尔变量bLive表示当前子弹的存亡状态所有变量的Get set方法一定要有哦。只有这些 你会发现子弹是不会动的 只会停留在原地 要怎么才能让子弹动呢?就是线程,
2016-10-06 20:09:12 2317
原创 TankWar 单机(JAVA版) 版本0.7~版本0.9 让坦克实现八个方向的移动
运行结果:版本0.7的项目要求是将坦克单独封装为一个类 在前面我们一直就是按照把坦克封装承类实现的。所以这里就不再写了。然后就是版本0.8了 控制坦克八个方向移动。首先说一下思路:我们可以设置四个方向的boolean变量 然后根据键盘事件 来判断你按了哪个键来使对应方向的booelan值设置为true然后根据方向的boolean值来判断方向,最后根据方向来移动
2016-10-06 13:17:11 2818
原创 TankWar 单机(JAVA版)优化炮杆和坦克移动方向不一致
在上篇文章中我们发现炮杆方向和移动方向不一致 如图:那么要怎么优化呢?也就是在画炮杆时根据当前坦克的方向画。所以需要一个枚举变量Direction来监视当前坦克的方向新建一个枚举变量:package tankWar;public enum Direction { U,D,L,R,STOP}然后在Tank类中 新增一个curDir 默认当前坦克方向向上
2016-10-05 13:22:20 2204
原创 TankWar 单机(JAVA版) 版本0.4~版本0.6 让坦克动起来
版本0.4的项目要求是让坦克动起来 由于在版本0.6也是让坦克听从我们指挥 等会再写在这里主要是建立一个屏幕刷新线程 使屏幕达到时时刷新的效果代码如下:public class updateThread extends Thread{ @Override public void run() { // TODO Auto-generated method stub
2016-10-05 12:47:05 2397
原创 TankWar 单机(JAVA版) 版本0.3 画出坦克
其实就是通过自定义的panel 重写里面的paint方法 使用Graphics类画一个圆然后把自定的panel添加到窗口中由于想到tank不能只画一个 所以我们封装一个tank类 里面有一个draw方法 用来画 坦克通过实例化tank 调用draw方法就能实现画tank了
2016-10-05 12:05:37 2118
原创 TankWar 单机(JAVA版) 版本0.1&&版本0.2 显示一个窗口
上面是项目要求 继承JFrame 就能实现一个窗口了没有什么好解释的 具体看代码注释package tankWar;import javax.swing.JFrame;public class TankClient extends JFrame{ //窗口的高度 public static int screenHeight=600; //窗口的宽度 public s
2016-10-05 11:00:37 1857
原创 TankWar单机 (JAVA版) 目录
早就想写了 一直都在忙 暑期去了无锡一个月见习 白天电脑没网 晚上网速十几K csdn都登录不上 。7.5-7.29暑期结束就回家了三天 看看奶奶 。然后8.3就又到学校了 ,看着15acm成员的集训。然后8.13号数学建模的培训 培训到8.28号。就开学了。。又报了驾校 我的天。。。浑浑噩噩就到今天了 唉从今天起要改变这一个月来的状态了。于是决定写一下坦克大
2016-10-05 10:40:49 2319 9
原创 HTML中使用cookie保存登录账户
用户点击登录按钮后 判断当前账户是否存在如果存在 并且勾选了记住帐号 使用cookie保存帐号密码如果存在 但是没有勾选记住帐号 遍历cookie 删除帐号密码//判断当前用户是否存在 if(loginDao.userLogin(loginUser)){ String [] isUseCookie=request.getParameterValues("isUseCooki
2016-10-04 20:43:45 11615 7
dubbo-admin-2.5.4
2017-12-18
Socket实例之客户端向服务端数据库上传文件UI版
2016-12-12
算法导论中文第二版
2015-07-18
一个算法问题 最长子串
2016-04-23
喜欢算法的来帮帮忙 这道题实在是不会了
2016-04-22
layoutparams设置宽度和高度填充父容器无效啊
2016-02-23
关于返回值的问题(图的遍历),求解答啊
2015-07-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人