java绘图教程
1. java中的paint方法中的drawimage方法怎么用
drawImage方法是用来将图锋纯片绘制到目标上
drawImage
public abstract boolean drawImage(Image img,
int x,
int y,
int width,
int height,
Color bgcolor,
ImageObserver observer)绘制指定图像中已缩放到适合指定矩形内部的图像。
图像绘制在此图形上下文坐标空间的指定矩形内部,如果需要,则进行缩放。以指定的背景色绘制透明像素。此操作等同于用给定颜色填充指定图像宽度和高度的矩形,然后在其上绘制图像,但此操作效率更高。
此方法在任何情况下都立刻返回,甚至在整个图像没有针对当前输出设备完成缩放、抖动或转换的情况下也是如此。如果当前的输出表示形式尚未完成,则 drawImage 返回 false。随着更多的图像可用,加载图像的进程将通知指定的图像观察者。
缩放的图像不一定立刻是可用的,因为已经为此输出设备构造了非缩放的图像。每种大小的图像可以被分别缓存,并由各自图像生产序列中的原始数据磨握生成。
参数:
img - 要绘制的指定图像。如果 img 为 null,则此方法不执行任何操作。
x - x 坐标。
y - y 坐标。
width - 矩形的宽度。
height - 矩形的高度。
bgcolor - 在图像非透明部分下绘制的背景色。
observer - 当转换了更多图像时要通银游咐知的对象。
一个简单的例子(drawImage方法有很多变体 这里用的是最简单的一个)
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public class GraphiscTest extends JLabel {
private static final long serialVersionUID = -1985867978449397006L;
public GraphiscTest() {
super();
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
BufferedImage image = new BufferedImage(150, 150,
BufferedImage.TYPE_3BYTE_BGR);
Graphics2D g2d = image.createGraphics();
g2d.setBackground(Color.GRAY);
g2d.clearRect(0, 0, getWidth(), getHeight());
g2d.drawString("Default Font", 10, 20);
g2d.drawLine(10, 22, 80, 22);
g2d.setFont(g.getFont().deriveFont(Font.BOLD | Font.ITALIC, 24f));
g2d.setColor(Color.WHITE);
g2d.setStroke(new BasicStroke(10f, BasicStroke.CAP_ROUND,
BasicStroke.JOIN_MITER));
g2d.drawString("New Font", 10, 50);
g2d.drawLine(10, 57, 120, 57);
g2d.dispose();
g.drawImage(image, 0, 0, null);
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.setLayout(new BorderLayout());
frame.add(new GraphiscTest(), BorderLayout.CENTER);
frame.setSize(320, 240);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
2. 高分求java的基础视频教程,要基础入门的。电驴和迅雷上的资源太乱了,不知道该下哪些,有没有整理的。
我这边有韩顺平的视频讲座,很基础,从最基本的开始讲的,你需要的话我给你,下面是清单:
韩顺平 循序渐进学 java 从入门到精通 第0讲-开山篇
韩顺平 循序渐进学 java 从入门到精通 第1讲-内容介绍 项目演示 原理剖析
内容介绍:本章讲解以下内容: (1)课程介绍(2)项目演示(坦克游戏,雷霆战舰,满汉楼,爆炸人..)(3)java介绍(4)java开发工具介绍(5)java语言的特点(6)jdk的安装和配置演示 (7)java运行原理剖析(Hello,wrold)
韩顺平 循序渐进学 java 从入门到精通 第2讲-变量 数据类型
内容介绍:本章讲解以下内容: (1)初识变量(2)java的基本数据类型(3)定义变量、初始化、赋值(4)基本数据类型的转换 a.自动转换 b.强制转换 c.计算中的转换
韩顺平 循序渐进学 java 从入门到精通 第3讲-运算符 流程控制
内容介绍:本章讲解以下内容: (1)java的算术运算符(2)java的关系运算符(3)java的逻辑运算符(4)java的三大流程控制-顺序控制(5)java的三大流程控制-分支控制
韩顺平 循序渐进学 java 从入门到精通 第4讲- 流程控制
内容介绍:本章讲解以下内容: (1)java的三大流程控制-分支控制(2)java的三大流程控制-循环控制(3)作业布置
韩顺平 循序渐进学 java 从入门到精通 第5讲-类 对象
内容介绍:本章讲解以下内容: (1)类的介绍(2)对象的介绍(3)类和对象关系(4)类和对象的区别和联系(5)如何定义类(6)如何创建类
韩顺平 循序渐进学 java 从入门到精通 第6讲-成员属性 成员方法
内容介绍:本章讲解以下内容: (1)类的成员属性(2)如何访问(使用)对象的成员变量(3)对象在内存的形式(4)类的成员方法的定义和使用
韩顺平 循序渐进学 java 从入门到精通 第7讲-成员方法 构造方法
内容介绍:本章讲解以下内容: (1)类的成员方法的理解(2)方法-调用过程(3)类的成员方法(函数)-注意事项(4)类的成员方法的定义和使用(5)类的构造方法(默认构造方法)(6)类的构造方法小结
韩顺平 循序渐进学 java 从入门到精通 第8讲-this 类变量
内容介绍:本章讲解以下内容: (1)this代词详讲(2)类变量详讲
韩顺平 循序渐进学 java 从入门到精通 第9讲-类方法 封装
内容介绍:本章讲解以下内容: (1)类方法详解(2)抽象(3)封装(4)四个访问修饰符 public private protected 默认(5)包
韩顺平 循序渐进学 java 从入门到精通 第10讲-访问修饰符 重载 覆盖
内容介绍:本章讲解以下内容: (1)四个访问修饰符的详解(2)继承详解(3)方法的重载
(4)方法的覆盖
韩顺平 循序渐进学 java 从入门到精通 第11讲-约瑟夫问题
内容介绍:本章讲解以下内容: (1)约瑟夫问题详解(用链表解决)
韩顺平 循序渐进学 java 从入门到精通 第12讲-多态
内容介绍:本章讲解以下内容: (1)多态详解
韩顺平 循序渐进学 java 从入门到精通 第13讲-抽象类 接口
内容介绍:本章讲解以下内容: (1)抽象类详解(2)接口的详解
韩顺平 循序渐进学 java 从入门到精通 第14讲-final 作业评讲
内容介绍:本章讲解以下内容: (1)用接口实现多态(2)实现接口 vs 继承类(3)final修饰符详解
(4)作业评讲
韩顺平 循序渐进学 java 从入门到精通 第15讲-作业 测试题
(1)作业、测试题评讲
韩顺平 循序渐进学 java 从入门到精通 第16讲-数组
(1)数组详解(2)简单数据类型的数组(3)对象数组
韩顺平 循序渐进学 java 从入门到精通 第17讲-排序
(1)排序介绍(2)冒泡排序(3)选择排序
韩顺平 循序渐进学 java 从入门到精通 第18讲-排序 查找
(1)插入排序法(2)快速排序法(3)外部排序法(4)查找介绍(5)顺序查找和二分查找
韩顺平 循序渐进学 java 从入门到精通 第19讲-多维数组
(1)多维数组讲解
韩顺平 循序渐进学 java 从入门到精通 第20讲-二进制 位运算 位移运算
内容介绍:本章讲解以下内容: (1)二进制(原码、反码、补码)(2)位运算(取反,位与,位异或,位或)(3)位移运算(算术右移,算术左移,逻辑左移)
韩顺平 循序渐进学 java 从入门到精通 第21讲-集合
内容介绍:本章讲解以下内容: (1)集合框架图,体系介绍(2)ArrayList 详解
韩顺平 循序渐进学 java 从入门到精通 第22讲-集合
内容介绍:本章讲解以下内容: (1)使用ArryaList完成雇员薪水管理系统(2)LinkedList的介绍和使用(3)Vector的介绍和使用(4)Stack(栈)的介绍和使用
韩顺平 循序渐进学 java 从入门到精通 第23讲-集合
内容介绍:本章讲解以下内容: (1)HashMap的介绍和使用(2)Hashtable的介绍和使用(3) HashMap、Hashtable的区别(4) ArrayList、Vector的区别
韩顺平 循序渐进学 java 从入门到精通 第24讲-集合补充
内容介绍:本章讲解以下内容: (1)对集合使用的补充说明.
韩顺平 循序渐进学 java 从入门到精通 第25讲-泛型 异常
内容介绍:本章讲解以下内容: (1)java泛型介绍(2)java泛型举例详解(3)java泛型的优点
(4)异常的介绍和异常的分类
韩顺平 循序渐进学 java 从入门到精通 第26讲-异常
内容介绍:本章讲解以下内容: (1)异常的处理-try catch finally(2)异常的处理-throws
韩顺平 循序渐进学 java 从入门到精通 第27讲-作业评讲
内容介绍:本章讲解以下内容: (1)作业评讲(最佳裁判、学生成绩...)
韩顺平 循序渐进学 java 从入门到精通 第28讲-面试题评讲
内容介绍:本章讲解以下内容: (1) 赛迪网程序员面试题评讲[最后待定...]
韩顺平 循序渐进学 java 从入门到精通 第29讲-满汉楼 swing介绍
内容介绍:本章讲解以下内容: (1) 图形用户界面编程介绍(gui)(2)满汉楼餐饮系统演示
(3)awt swing swt jface关系(4)eclipse介绍(5)swing组件介绍(6)swing的窗体组件和按钮组件
韩顺平 循序渐进学 java 从入门到精通 第30讲-布局管理器
内容介绍:本章讲解以下内容: (1)布局管理器介绍(2)BorderLayout 边界布局(3)FlowLayout 流式布局(4)GridLayout 网格布局
韩顺平 循序渐进学 java 从入门到精通 第31讲-常用组件
内容介绍:本章讲解以下内容: (1)JPanle的介绍和使用(2)布局管理器的综合使用
(3)swing常用组件JTextField JPasswordField JLabel(4)swing常用组件JCheckBox JRadioButton(5)swing常用组件 JComboBox JList JScrollPane
韩顺平 循序渐进学 java 从入门到精通 第32讲-swing编程实战
内容介绍:本章讲解以下内容: (1)swing编程实战-金山词霸界面(2)swing编程实战-qq聊天界面(3)swing编程实战-qq登录界面(4)swing编程实战-记事 本界面(5)swing组件 JSplitPane JTextArea JTabbedPane (6)swing组件JMenuBar JMenu JMenuItem JToolBar
韩顺平 循序渐进学 java 从入门到精通 第33讲-绘图技术 坦克大战1
内容介绍:本章讲解以下内容: (1)坦克大战游戏演示(2)java绘图坐标系
(3)像素的概念(4)java绘图技术-原理(5)java绘图常用的方法
韩顺平 循序渐进学 java 从入门到精通 第34讲-绘图技术 坦克大战2
内容介绍:本章讲解以下内容: (1)坦克大战游戏-绘出坦克(2)作业-画蛤蟆 和 王八
韩顺平 循序渐进学 java 从入门到精通 第35讲-事件处理 坦克大战3
内容介绍:本章讲解以下内容: (1)java事件处理机制-原理(2)java事件处理机制案例详解
(3)事件源 事件 事件监听者 事件处理方法详解(4)java事件处理机制 通俗版理解
(5)让一个小球可以被控制上下左右移动(键盘监听)
韩顺平 循序渐进学 java 从入门到精通 第36讲-事件监听 坦克大战4
内容介绍:本章讲解以下内容: (1)java事件处理机制继续讲解(2)事件监听器接口
(3)事件处理机制的一些案例
韩顺平 循序渐进学 java 从入门到精通 第37讲-事件总结 坦克大战5
内容介绍:本章讲解以下内容: (1)java事件处理编程总结(2)坦克大战游戏---让自己的坦克可以自由的移动.
韩顺平 循序渐进学 java 从入门到精通 第38讲-线程 坦克大战6
内容介绍:本章讲解以下内容: (1)进程的介绍(2)线程的介绍及其作用
(3)用继承Thread类的方法来开发线程(4)用实现Runnable接口的方法来开发线程
韩顺平 循序渐进学 java 从入门到精通 第39讲-线程 坦克大战7
内容介绍:本章讲解以下内容: (1)如何更好的理解线程(2)继承Thread和实现Runnable接口的区别(3)线程的实际运用 ---坦克大战游戏(3.0) 玩家可以发射子弹.
韩顺平 循序渐进学 java 从入门到精通 第40讲-线程
内容介绍:本章讲解以下内容: (1)线程使用的经验之谈(2)线程同步处理方式
(3)对象锁和线程安全(4)synchronized的具体使用
韩顺平 循序渐进学 java 从入门到精通 第41讲-坦克大战8
内容介绍:本章讲解以下内容: (1)坦克大战游戏升级(3.0) 玩家可以连续发射子弹
(2)坦克大战游戏升级(3.0) 当击中敌人坦克时,敌人坦克就消失
韩顺平 循序渐进学 java 从入门到精通 第42讲-坦克大战9
内容介绍:本章讲解以下内容:
(1)坦克大战游戏升级(4.0) 当击中敌人坦克时,敌人坦克就消失,并出现爆炸效果
(2)坦克大战游戏升级(4.0) 敌人坦克可以自由移动
(3)坦克大战游戏升级(4.0) 敌人坦克可以移动控制在区域内
(4)坦克大战游戏升级(4.0) 敌人坦克可以发射子弹
(5)坦克大战游戏升级(4.0) 敌人坦克可以连发子弹
韩顺平 循序渐进学 java 从入门到精通 第43讲-io编程 坦克大战10
内容介绍:本章讲解以下内容:
(1)坦克大战游戏升级(4.0) 当敌人的坦克击中我的坦克时,我的坦克爆炸并消失
(2)坦克大战游戏升级(4.0) 如何控制敌人坦克重迭运动
(3)java io 编程( 文件编程 )初步介绍
(4)文件和文件流的基本概念
(5)java io 流类一览表
(6)文件流的分类 字节流 和 字符流的介绍
韩顺平 循序渐进学 java 从入门到精通 第44讲-io编程
内容介绍:本章讲解以下内容: (1)java 常用 io流-文件类(File)(2)演示如何得到文件信息
(3)演示如何创建文件夹,遍历文件,创建新文件
(4)FileInputStream 和 FileOutputStream类的使用案例
韩顺平 循序渐进学 java 从入门到精通 第45讲-io编程
内容介绍:本章讲解以下内容:
(1)使用FileInputStream 和 FileOutputStream完成图片拷贝
(2)文件字符流的使用案例 FileReader FileWriter
(3)缓冲字符流的使用案例 BufferedReader BufferedWriter
(4)打印输出流的案例 PrintWriter
韩顺平 循序渐进学 java 从入门到精通 第46讲-io编程 记事本开发
内容介绍:本章讲解以下内容: (1)java io 编程综合案例 (2)一个简单的文件记事本开发
韩顺平 循序渐进学 java 从入门到精通 第47讲-坦克大战11
内容介绍:本章讲解以下内容: (1)坦克大战游戏升级(5.0) 如何控制敌人坦克重迭运动
韩顺平 循序渐进学 java 从入门到精通 第48讲-坦克大战12
(1)坦克大战游戏升级(5.0) 可以分关
(2)坦克大战游戏升级(5.0) 闪烁效果
(3)坦克大战游戏升级(5.0) 可以在玩游戏的时候暂停和继续
(4)坦克大战游戏升级(5.0) 可以记录玩家的成绩
韩顺平 循序渐进学 java 从入门到精通 第49讲-坦克大战13
(1)坦克大战游戏升级(5.0) 可以存盘退出
(2)坦克大战游戏升级(5.0) 可以恢复到退出状态 接着上一局玩
韩顺平 循序渐进学 java 从入门到精通 第50讲-坦克大战14
(1)坦克大战游戏升级(5.0) java播放声音文件(2)播放经典的fc坦克大战游戏开始音.
韩顺平 循序渐进学 java 从入门到精通 第51讲-作业评讲
内容介绍:本章讲解以下内容: (1)老猴排序-作业评讲
韩顺平 循序渐进学 java 从入门到精通 第52讲-试题评讲
内容介绍:本章讲解以下内容: (1)赛迪网初级程序员笔试题评讲
韩顺平 循序渐进学 java 从入门到精通 第53讲-数据库概念
(1)数据库的基本概念(2)数据库的基本结构(3)数据库的基本特点(4)目前主流数据库的介绍
韩顺平 循序渐进学 java 从入门到精通 第54讲-sql server安装配置卸载
(1)sql server 数据库的安装、配置、卸载
韩顺平 循序渐进学 java 从入门到精通 第55讲-sql server基本使用
(1)数据库sa 用户和普通用户的创建和密码分派(2)windows验证和混合验证的讲解
(3)企业管理器的基本使用案例
韩顺平 循序渐进学 java 从入门到精通 第56讲-查询分析器 ddl dml dql
(1)查询分析器的基本使用案例(2)简单的ddl 、dml 和 dql语句使用案例
韩顺平 循序渐进学 java 从入门到精通 第57讲-sql server 数据类型
(1)表名和列名的命名规则(2)表支持的数据类型-字符型char varchar text ntext nchar nvarchar (3)表支持的数据类型-数字类型 bit
韩顺平 循序渐进学 java 从入门到精通 第58讲-sql server 数据类型
(1)表支持的数据类型-数字类型 int bigint float numeric
(2)表支持的数据类型-日期类型 datetime timestamp
(3)表支持的数据类型-image binary
(4)表的基本操作(建表,增,删,改)
韩顺平 循序渐进学 java 从入门到精通 第59讲-sql server 基本查询
(1)表的主键 和 外键(2)查询所有列,指定列,取消重复行(3)使用算术表达式,使用列的别名(4)使用where 子句(5)模糊查询(like)
韩顺平 循序渐进学 java 从入门到精通 第60讲-sql server 基本查询
(1)在where条件中使用in(2)使用is null的操作符(3)使用逻辑操作符号(4)使用order by字句
(5)使用列的别名排序(6)数据分组-max,min,avg,sum,count(7)group by 和 having子句
(8)对数据分组的总结
韩顺平 循序渐进学 java 从入门到精通 第61讲-sql server 复杂查询
(1)多表查询(2)自连接(3)子查询 单行子查询 多行子查询
韩顺平 循序渐进学 java 从入门到精通 第62讲-sql server 复杂查询
(1)在from子句中使用子查询(2)分页查询(3)内连接(4)外连接(左外连接 右外连接)
韩顺平 循序渐进学 java 从入门到精通 第63讲-sql server 约束
(1)维护数据的完整性(2)主键 外键 not null foreign key unique check
韩顺平 循序渐进学 java 从入门到精通 第64讲-sql server 备份恢复 jdbc-odbc
(1)使用企业管理器完成数据库的分离、附加(2)使用企业管理器完成数据库的备份和恢复
(3)使用查询分析器完成数据库的备份和恢复(4)crud介绍
(5)jdbc介绍和jdbc驱动的分类(6)jdbc-odbc桥连接 的案例详解
韩顺平 循序渐进学 java 从入门到精通 第65讲-sql server jdbc
(1)jdbc-odbc桥连案例详解(2)sql注入漏洞解析(3)使用PreparedStatement技巧
(4)Statement和PreparedStatement的区别
韩顺平 循序渐进学 java 从入门到精通 第66讲-sql server jdbc
(1)jdbc驱动直连数据库(2)jdbc的案例详解(3)在java程序中创建,删除数据库(表)
(4)在java程序中备份,恢复数据库(表)
韩顺平 循序渐进学 java 从入门到精通 第67讲-sql server 作业评讲
(1)对表操作的测试题评讲(重要!)
韩顺平 循序渐进学 java 从入门到精通 第68讲-项目开发流程
(1)软件开发项目流程介绍(2)满汉楼餐饮系统简单介绍和分析
韩顺平 循序渐进学 java 从入门到精通 第69讲-学生管理系统1 项目分析
(1)学生管理系统开发流程详细介绍1.使用jude作出流程图2.设计数据库3.功能分析
(3)数据库编程实战之一--学生管理系统1
韩顺平 循序渐进学 java 从入门到精通 第70讲-学生管理系统2
(1)数据库编程实战之一--学生管理系统2
韩顺平 循序渐进学 java 从入门到精通 第71讲-学生管理系统3 增删改
(1)数据库编程实战之一--学生管理系统3 完成对学生的增加、删除、修改
韩顺平 循序渐进学 java 从入门到精通 第72讲-学生管理系统4 model2模式
(1)数据库编程实战之一--学生管理系统4
完成对学生信息的修改
(2)提出模式的概念(3)对学生管理系统从model1模式改为model2模式
韩顺平 循序渐进学 java 从入门到精通 第73讲-学生管理系统5 sqlhelper
(1)数据库编程实战之一--学生管理系统5
在model2模式中对model层再次分层.业务层和DAO层.
(2)编写一个DAO类 SqlHelper(3)完成学生管理系统并总结
韩顺平 循序渐进学 java 从入门到精通 第74讲-满汉楼系统1 项目分析
(1)java项目实训之--满汉楼餐饮系统1
满汉楼餐饮系统设计分析
满汉楼餐饮系统使用演示
满汉楼餐饮系统设计文档说明
(2)充分理解项目开发五大流程.
韩顺平 循序渐进学 java 从入门到精通 第75讲-满汉楼系统2 项目分析
(1)java项目实训之--满汉楼餐饮系统2
满汉楼餐饮系统安装与配置
满汉楼餐饮系统的操作流程
韩顺平 循序渐进学 java 从入门到精通 第76讲-满汉楼系统3 实现闪屏 登录
(1)java项目实训之--满汉楼餐饮系统3
a.实现登录闪屏效果b.实现登录界面
韩顺平 循序渐进学 java 从入门到精通 第77讲-满汉楼系统4 菜单
(1)java项目实训之--满汉楼餐饮系统4
a.实现登录界面所有b.实现经理,主管,系统管理员的操作主界面-菜单部分
韩顺平 循序渐进学 java 从入门到精通 第78讲-满汉楼系统5 工具栏状态栏
(1)java项目实训之--满汉楼餐饮系统5
a.对主界面的布局结构进行分析
b.实现经理,主管,系统管理员的操作主界面-工具栏和状态栏
韩顺平 循序渐进学 java 从入门到精通 第79讲-满汉楼系统6 登录验证
(1)java项目实训之--满汉楼餐饮系统6
a.编写数据层,业务层的部分类,完成用户到数据库的登录验证
b.加深对model2模式的认识.c.编写SqlHelper工具类
韩顺平 循序渐进学 java 从入门到精通 第80讲-满汉楼系统7 窗口拆分
(1)java项目实训之--满汉楼餐饮系统7
a.完成经理,主管,系统管理员的操作主界面-八个可选操作选项
b.完成窗口的拆分显示
韩顺平 循序渐进学 java 从入门到精通 第81讲-满汉楼系统8 界面切换
(1)java项目实训之--满汉楼餐饮系统8
a.完成经理,主管,系统管理员的操作主界面-人事管理和登录管理切换
b.完成主界面一些特效
韩顺平 循序渐进学 java 从入门到精通 第82讲-满汉楼系统9 人事管理
(1)java项目实训之--满汉楼餐饮系统9
a.完成经理,主管,系统管理员的操作主界面-人事管理的显示,增加,删除和修改
韩顺平 循序渐进学 java 从入门到精通 第83讲-满汉楼系统10 报表统计 uml图
(1)java项目实训之--满汉楼餐饮系统10
a.完成经理,主管,系统管理员的操作主界面-报表统计的显示
b.如何使用jude软件设计uml的用例图,类图,和时序图(重要)
c.满汉楼项目实训之-结束语
韩顺平 循序渐进学 java 从入门到精通 第84讲-网络基础
(0)java网络编程开篇名义(1)山寨版qq项目演示(2)为什么选择qq来讲解网络编程
(3)网线,网卡,无线网卡(4)协议(tcp/ip)介绍(5)ip地址介绍(6)Ip地址与包的路由传递
韩顺平 循序渐进学 java 从入门到精通 第85讲-port url socket编程原理
(1)端口port(2)url地址(3)单工、半双工和全双工概念.(4)java网络编程基本原理图
(5)客户端向服务器端互发信息 (半双工通讯)
韩顺平 循序渐进学 java 从入门到精通 第86讲-半双工 双全工
(1)客户端向服务器端互发信息 (半双工通讯)
在案例一得基础上增加,可以从控制台输入信息,相互通讯.
(2)客户端和服务器端,可以任意互发信息,带界面
韩顺平 循序渐进学 java 从入门到精通 第87讲-山寨qq项目1 登录界面
(1)山寨版qq天下项目实战之一(2)完成山寨版qq登录界面
韩顺平 循序渐进学 java 从入门到精通 第88讲-山寨qq项目2 好友列表界面
(1)山寨版qq天下项目实战之二(2)完成山寨版qq的好友列表界面
韩顺平 循序渐进学 java 从入门到精通 第89讲-山寨qq项目3 聊天界面 对象流
(1)山寨版qq天下项目实战之三(2)完成山寨版qq聊天界面(3)讲解如何在网络间传递对象流
韩顺平 循序渐进学 java 从入门到精通 第90讲-山寨qq项目4 登录验证
(1)山寨版qq天下项目实战之四(2)完成服务器控制界面
(3)完成客户端和服务器端得程序结构分析(4)完成用户的登录验证(到服务器去验证)
韩顺平 循序渐进学 java 从入门到精通 第91讲-山寨qq项目5 一对一的聊天
(1)山寨版qq天下项目实战之五
(2)完成鼠标移动到那个好友就高亮他,双击可以跳出聊天窗口(3)完成一对一的聊天
韩顺平 循序渐进学 java 从入门到精通 第92讲-山寨qq项目6 多对多的聊天
(1)山寨版qq天下项目实战之六(2)完成山寨版qq多对多的聊天
韩顺平 循序渐进学 java 从入门到精通 第93讲-山寨qq项目7 好友在线提示
(1)山寨版qq天下项目实战之七(2)完成山寨版qq多对多的聊天的显示
(3)完成山寨版qq如何好友在线则显示彩色头像,如果不在线则显示灰色的头像.
韩顺平 循序渐进学 java 从入门到精通 第94讲-山寨qq项目8 好友在线提示
(1)山寨版qq天下项目实战之八(2)完成山寨版qq当一个好友上线,可以通知所有
在线的好友,并让他的头像显示彩色头像.
(3)提出要完成的新任务.
1.不让同一个账号反复登录
2.如果好友不在线,则不能聊天.
********************************************************************
3. java教程,求一套全面的java教程
很多的培训机构都会录制比较完整的入门级视频教程提供下载的,单是想要入门的话下载看这些就够了兄弟连Java战狼班,如果要深入的学习可以参考他们列出来的教学提纲去网络搜索
兄弟连JavaEE战狼班:
第一阶段:Java语言基础
★ Java语言基础
1、面向对象思维JAVASE
2、(类加载机制与反射,annotation,泛型,网络编程,多线程,IO,异常处理,常用API,面向对象,JAVA编程基础)
3、Java8新特性
第二阶段:数据库
★ 数据库
1、Oracle(SQL语句、SQL语句原理、SQL语句优化、表、视图
2、序列、索引、Oracle数据字典、Oracle 数据库PL/SQL开发
3、数据库设计原则、 MySQL 、 JDBC
第三阶段:Web基础
★ Web基础
1、HTML5(H5)基本文档结构、链接、列表、表格、表单;
2、CSS 基础语法、盒子模型、浮动布局、定位;
3、JavaScript语言基础、DOM 编程、事件模型等),JQuery,AJAX框架,XML,BootStrap组件
第四阶段:Java Web技术和主流框架
★ Java Web技术和主流框架
1、JSP&Servlet、struts2,hibernate4,spring4,JPA,maven
2、SpringData,SpringMVC,MyBatis,SpringSecurity,shiro,Nginx
第五阶段:Linux
★ Linux
1、Linux安装、熟悉Linux的基础命令、vi编辑器的使用、awk和sed命令使用、用户和组
2、文件及目录权限管理、使用ACL进行高级访问控制、网络配置和软件包安装、启动流程和服务管理
3、系统监控和日志管理、进程管理和计划任务、ssh远程登录、shell基础和shell脚本。
第六阶段:大数据技术(Hadoop和Spark)
★ 大数据技术(Hadoop和Spark)
1、Hadoop (Hadoop基础和环境搭建,HDFS体系结构,MapRece;Hadoop的集群模式、HDFS联盟,利用ZooKeeper来实现Hadoop集群的HA(高可用性)功能
2、Yarn的任务调度机制,Apache Hive,Pig数据处理,集成Hadoop和Sqoop
3、Flume以及Apache Kafka来实现数据的交换,安装部署HBase,Storm)
4、Scala 语言(Scala环境搭建、Scala基础语法、模式匹配、重载与构造器、Map与rece、元组、继承、StringContext,Option Some None,Tuple;集合方法和运算,future 对象同步处理和异步处理返回结果)
5、Spark(Spark搭建,Spark-shell 的使用,Spark-submit 提交应用, Spark的内核设计和实现,并对内核中的实现架构、运行原理进行详细的讲解;Spark生态体系中的各个组件,包括:Spark Core,Shark,Spark SQL和Spark Streaming等等)
第七阶段:项目
★ 项目
1、China-UCSP 项目 SSM(Spring+SpringMVC+MyBatis)
2、用户关系管理系统 S2SH+Maven+Nodejs+MySQL技术实战开发
3、电子商务交易平台 S2SH+Maven+Shiro+Oracle
4. java教程,java学习路线图
2019年的最新版本的路线图:
第一个:javase零基础(eclipse可以找动力节点的老师换成IDEA,这个看你个人习惯了)
(这些都有配套的教程,去找他们老师要应该可以要到)
5. 新手学习使用Java,尝试着做一个项目使用Java做一个视频图像的处理。
Java图像处理技巧四则
下面代码中用到的sourceImage是一个已经存在的Image对象
图像剪切
对于一个已经存在的Image对象,要得到它的一个局部图像,可以使用下面的步骤:
//import java.awt.*;
//import java.awt.image.*;
Image croppedImage;
ImageFilter cropFilter;
CropFilter =new CropImageFilter(25,30,75,75); //四个参数分别为图像起点坐标和宽高,即CropImageFilter(int x,int y,int width,int height),详细情况请参考API
CroppedImage= Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(sourceImage.getSource(),cropFilter));
如果是在Component的子类中使用,可以将上面的Toolkit.getDefaultToolkit().去掉。FilteredImageSource是一个ImageProcer对象。
图像缩放
对于一个已经存在的Image对象,得到它的一个缩放的Image对象可以使用Image的getScaledInstance方法:
Image scaledImage=sourceImage. getScaledInstance(100,100, Image.SCALE_DEFAULT); //得到一个100X100的图像
Image doubledImage=sourceImage. getScaledInstance(sourceImage.getWidth(this)*2,sourceImage.getHeight(this)*2, Image.SCALE_DEFAULT); //得到一个放大两倍的图像,这个程序一般在一个swing的组件中使用,而类Jcomponent实现了图像观察者接口ImageObserver,所有可以使用this。
//其它情况请参考API
灰度变换
下面的程序使用三种方法对一个彩色图像进行灰度变换,变换的效果都不一样。一般而言,灰度变换的算法是将象素的三个颜色分量使用R*0.3+G*0.59+ B*0.11得到灰度值,然后将之赋值给红绿蓝,这样颜色取得的效果就是灰度的。另一种就是取红绿蓝三色中的最大值作为灰度值。java核心包也有一种算法,但是没有看源代码,不知道具体算法是什么样的,效果和上述不同。
/* GrayFilter.java*/
/*@author:cherami */
/*email:[email protected]*/
import java.awt.image.*;
public class GrayFilter extends RGBImageFilter {
int modelStyle;
public GrayFilter() {
modelStyle=GrayModel.CS_MAX;
canFilterIndexColorModel=true;
}
public GrayFilter(int style) {
modelStyle=style;
canFilterIndexColorModel=true;
}
public void setColorModel(ColorModel cm) {
if (modelStyle==GrayModel
else if (modelStyle==GrayModel
}
public int filterRGB(int x,int y,int pixel) {
return pixel;
}
}
/* GrayModel.java*/
/*@author:cherami */
/*email:[email protected]*/
import java.awt.image.*;
public class GrayModel extends ColorModel {
public static final int CS_MAX=0;
public static final int CS_FLOAT=1;
ColorModel sourceModel;
int modelStyle;
public GrayModel(ColorModel sourceModel) {
super(sourceModel.getPixelSize());
this.sourceModel=sourceModel;
modelStyle=0;
}
public GrayModel(ColorModel sourceModel,int style) {
super(sourceModel.getPixelSize());
this.sourceModel=sourceModel;
modelStyle=style;
}
public void setGrayStyle(int style) {
modelStyle=style;
}
protected int getGrayLevel(int pixel) {
if (modelStyle==CS_MAX) {
return Math.max(sourceModel.getRed(pixel),Math.max(sourceModel.getGreen(pixel),sourceModel.getBlue(pixel)));
}
else if (modelStyle==CS_FLOAT){
return (int)(sourceModel.getRed(pixel)*0.3+sourceModel.getGreen(pixel)*0.59+sourceModel.getBlue(pixel)*0.11);
}
else {
return 0;
}
}
public int getAlpha(int pixel) {
return sourceModel.getAlpha(pixel);
}
public int getRed(int pixel) {
return getGrayLevel(pixel);
}
public int getGreen(int pixel) {
return getGrayLevel(pixel);
}
public int getBlue(int pixel) {
return getGrayLevel(pixel);
}
public int getRGB(int pixel) {
int gray=getGrayLevel(pixel);
return (getAlpha(pixel)<<24)+(gray<<16)+(gray<<8)+gray;
}
}
如果你有自己的算法或者想取得特殊的效果,你可以修改类GrayModel的方法getGrayLevel()。
色彩变换
根据上面的原理,我们也可以实现色彩变换,这样的效果就很多了。下面是一个反转变换的例子:
/* ReverseColorModel.java*/
/*@author:cherami */
/*email:[email protected]*/
import java.awt.image.*;
public class ReverseColorModel extends ColorModel {
ColorModel sourceModel;
public ReverseColorModel(ColorModel sourceModel) {
super(sourceModel.getPixelSize());
this.sourceModel=sourceModel;
}
public int getAlpha(int pixel) {
return sourceModel.getAlpha(pixel);
}
public int getRed(int pixel) {
return ~sourceModel.getRed(pixel);
}
public int getGreen(int pixel) {
return ~sourceModel.getGreen(pixel);
}
public int getBlue(int pixel) {
return ~sourceModel.getBlue(pixel);
}
public int getRGB(int pixel) {
return (getAlpha(pixel)<<24)+(getRed(pixel)<<16)+(getGreen(pixel)<<8)+getBlue(pixel);
}
}
/* ReverseColorModel.java*/
/*@author:cherami */
/*email:[email protected]*/
import java.awt.image.*;
public class ReverseFilter extends RGBImageFilter {
public ReverseFilter() {
canFilterIndexColorModel=true;
}
public void setColorModel(ColorModel cm) {
substituteColorModel(cm,new ReverseColorModel(cm));
}
public int filterRGB(int x,int y,int pixel) {
return pixel;
}
}
要想取得自己的效果,需要修改ReverseColorModel.java中的三个方法,getRed、getGreen、getBlue。
下面是上面的效果的一个总的演示程序。
/*GrayImage.java*/
/*@author:cherami */
/*email:[email protected]*/
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
import java.awt.color.*;
public class GrayImage extends JFrame{
Image source,gray,gray3,clip,bigimg;
BufferedImage bimg,gray2;
GrayFilter filter,filter2;
ImageIcon ii;
ImageFilter cropFilter;
int iw,ih;
public GrayImage() {
ii=new ImageIcon(\"images/11.gif\");
source=ii.getImage();
iw=source.getWidth(this);
ih=source.getHeight(this);
filter=new GrayFilter();
filter2=new GrayFilter(GrayModel.CS_FLOAT);
gray=createImage(new FilteredImageSource(source.getSource(),filter));
gray3=createImage(new FilteredImageSource(source.getSource(),filter2));
cropFilter=new CropImageFilter(5,5,iw-5,ih-5);
clip=createImage(new FilteredImageSource(source.getSource(),cropFilter));
bigimg=source.getScaledInstance(iw*2,ih*2,Image.SCALE_DEFAULT);
MediaTracker mt=new MediaTracker(this);
mt.addImage(gray,0);
try {
mt.waitForAll();
} catch (Exception e) {
}
6. 完整的Java视频教程
完整的java教程可以看看IT学习联盟的<<零基础Java就业班>>。零基础Java就业班包括Java基础 进阶 高级 项目。是一套完整的Java视频教程。这套教程从零基础开始教起,零基础到就业水平。就算没基础也可以学习的。
……………………………………
看你问的问题,应该是对java很感兴趣,其实你可以自学java。关于如何学习java,我刚才看到一篇很不错的文章,是一个农民工介绍自己如何自学java,并找到Java的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
我是一名地地道道的农民工,生活在经济落后的农村,有一个哥哥和一个弟弟,父母都是地道的农民,日出而作,日落而息,我从小到大学习一直很好,从小学到高一都,成绩在全级一直名列前茅,这样我也顺利了考上省的重点高中,然而,每个学期开学是家里最为难的时候,每次交学费都让父母发愁许久,家里为了给我筹钱读书,都借了不少钱,才让我读上高中。我知道我读到高中家里已经欠了好多债,为了减轻家里的负担,我选择了退学。
2009年我高一退学,为了给家里还债,干过建筑工地的小工,搞过塑料制品加工,送水工等等。很工资都很低,一个月也就1000多,加上加班费一个月能拿2000多一点,我每个月都向家里寄回800-1000元,到了2011年末,一次偶然的机会我接触了Java,听说Java的前景挺不错,工资相对于我一个农民工来说简直是天文数字,于是我在新华书店买了几本Java的书,尽管白天辛苦工作,晚上回来还是坚持看书,但有于基础太差很多都很不明白,但还是坚持看,一有看1-2个小时Java的书,看着看着许多基础都慢慢的学会了,但那些比较难的还是看不懂,后来还买了有些关于框架的书,还是看不懂,这样断断续续的持续了半年多,觉得自己Java的基础都差不多懂了,但框架还是看不懂,还有最缺的项目经验,看了很多招聘Java程序员的简介都要项目经验,相对我一个农民工来连框架都弄不明白,想找一份Java工作对我来说简直是奢侈。我只想学Java,并不敢想以后能从事Java的工作。
有一次,在网络上看到一篇让我很鼓舞的文章,是一个Java高手介绍在没有基础的朋友怎么自学入门Java,文章写的很好,包含了如何学习,该怎么学习,他提到一个方法就是看视频,因为看书实在太枯燥和费解的,不少是我们也看不懂,这点我真的很认同,我自己看书都看了很久才学会基础。曾经有想过参加培训,但是上万元的培训费让我望而却步,我工资这么低,每个月还有向家里汇钱,加上城市消费比较高,虽然每个月只有几百剩下,但是相对于上万万学费和四个月的吃住费用逼我连想不敢想。 于是我决定看视频,我就去搜索Java的视频,虽然我零星的找到一些Java的视频,但是都不系统。最重要连项目都没有。后来我找到一份很好的视频,是IT学习联盟这个网站一套视频叫<<零基础Java就业班>>(喜欢《零基础Java就业班》的可以复制 t.cn/8sx5z6L 粘贴浏览器地址栏按回车键即打开)的教程还不错,很完整。还赠送11个顶级企业项目。价格很合理,于是我买下来。
于是开始了我的自学Java的路,收到光盘后,我就开始学习,刚开始学习还不错,是从零基础教起,老师幽默风趣而又轻松的课堂教课,使我发现原来学习JAVA并不是一件很难的事情。因为我本来基础还不错,前面的基础看一篇我就过去了,到了框架,我觉不又不是很难,可能老师太牛了,他能把复杂的问题讲的比较通俗易懂,有些难点的地方我还是连续看了五六次,把他弄懂。每天下午6点下班后,吃了饭,马上跑回家。看视频,买了几本笔记本。当时,为了编程还花几百元了台二手的台式电脑,配置一般,但编程是足够的。一边看视频,一边记笔记,把重点都记下来,还一边跟着老师敲代码,为了能尽早学会Java。每天都坚持学5-6个小时。经常学到晚上一点多才睡觉。星期六,日不用上班,每天7点多起床,学到晚上11,12点。那段时间特别辛苦,特别累。在学习Java的三个多月里,除了吃饭睡觉工作,剩余的时间都在学习,因为我知道自己的计算机基础不是很好,也没有学过什么计算机,只是学了些Java基础,相对于那些科班的人来说我要比他们付出更多的努力。我只能咬紧牙关,坚持下去,我不能放弃,我要完成我的梦想,我要让我的家人过上好日子。终于三个多月后我把Java教程里的内容和项目都学完了,在学项目的过程中我发现项目特别重要,他能把你学过的知识全部联系起来,能更好的理解你所学的知识。还有学习过程中,动手很重要,要经常跟着老师动手敲,动手吧,跟着做,一行一行的跟着敲,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。 如果遇到暂时对于一些思路不能理解的,动手写,先写代码,慢慢你就会懂了。这套视频还赠送了11个顶级企业项目,对于我没有任何经验的人来说,这个太重要了,还有在学习项目是提升能力最快的方法。项目能把所有的知识点全都连到一起了,不再是分散的,而是形成一个整体了。那种感觉是仅仅深入钻研知识点而不写真实项目的人所不能体会的。一个项目就是一根绳子可以把大片的知识串到一起。 就这样,我用了两个月也把项目给学完了。其实学完教程差不错就达到就业水平,但是我可能觉得自己学历低还是把那11个顶级企业项目才去找工作。
接着我就到51job疯狂的投简历,因为我的学历问题,初中毕业,说真的,大公司没有人会要我。所以我头的都是民营的小公司,我希望自己的努力有所回报。没有想过几天后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比价严格,需要有一年的项目经验,所以我没有被选中。 后来陆续面试了几加公司,终于功夫不负有心人,我终于面试上了一家民营的企业。公司规模比较小,我的职务是Java程序员。我想我比较幸运,经理看中我的努力,就决定吕勇我,开的工资是3500一个月,虽然我知道在北京3500只能过温饱的生化,但是我想我足够了,比起以前的工资好了些,以后可以多寄些钱回家。我想只要我继续努力。我工资一定会翻倍的。 把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有自卑,我们不比别人笨,只有我们肯努力,我们一样会成功。
…………………………………………
7. JAVA语言程序设计教程的介绍
《JAVA语言程序设计教程》为Java语言基础教程,在讲解Java语法的同时,介绍了用Eclipse软件实现Java可视化编程的方法。《JAVA语言程序设计教程》内容包括Java编程的基本知识:Java语言基础、Java的数组与方法;Java面向对象编程:Java的类与对象、SWT常用类的基本用法以及用户自定义类及其应用:Java的异常处理、Java的输入/输出流、Java的线程;最后,通过综合实例展示了使用Eclipse工具开发Java程序的完整过程。书中每章均附有典型习题。