- 博客(34)
- 资源 (23)
- 收藏
- 关注
原创 Java双向链表的创建结点,清空链表,添加结点,删除结点
这里给出双向链表的基本操作说明,当然这里只是给出了一个统一的实现模板思路,具体问题还要具体分析。后序还会给出链表的一些应用实例。package javaList;import java.util.Iterator;public class MyLinkedList implements Iterable {private int thesize;//创建节点priv
2016-06-30 21:05:57 2825
原创 HTML网页显示一下后消失的原因—HTML与javascript的执行顺序
由于项目的需要,在网页中添加了一个vlc视频播放器,需要实现对播放器的基本控制,如:放大屏幕,播放,暂停,截图,查看等功能,但是每次在加载完视频之后,视频闪动一下就消失,屏幕上就一片空白了,如下图所示。 但是,滚动一下鼠标,或移动一下浏览器,播放器就会出现。由于要写的网页嵌入到C#中的WebBrowser控件中,设置为没有滚动条的情况,于是视频播放器就加载不出来。原因是:
2016-06-29 09:18:26 3450
原创 Java中的增强For循环
增强的for循环是在传统的for循环中增加的强大的迭代功能的循环,是在jdk1.5之后提出来的。 基本语法格式:for(type 变量名:集合变量名){……} 其中:迭代变量必须在()中定义。集合变量可以是数组或实现了iterable接口的集合类。 应用实例模板: publicstatic void print(Collection coll){
2016-06-28 09:01:44 4583
原创 HTML按钮控制C#程序截图并查看
在上一篇博客中http://blog.csdn.net/qq_30507287/article/details/51746893,描述了如何利用窗体界面的按钮来控制截图的功能的实现。本次博客描述的是如何利用HTML中的按钮来控制C#后台程序的运行来实现截图。 (1)首先在HTML中创建两个type=“button”的按钮,其多创建如下:
2016-06-27 09:26:56 434
原创 C#设计模式—访问者模式
1、访问者模式定义 表示一个作用于其对象结构中的各个元素的操作。 访问者模式是一种对象行为型模式,它为操作存储不同的类型元素的对象结构提供了一种解决方案,用户可以对不同类型的元素施加不同的操作。 访问者模式常常和组合模式一起使用。2、访问者模式结构 该模式包含五种角色: 1)抽象访问者类(Visitor):为对象结构中的每一个元素类声明一个访问
2016-06-26 20:36:54 586
原创 C#设计模式—策略模式
1、策略模式定义 策略模式定义一系列的算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法可以独立于使用它的客户变化。 特点:策略模式用于算法的自由切换和扩展。实现了算法定义和算法使用的分离,它通过继承和多态的机制实现对算法的使用和管理。2、策略模式的结构 策略模式包含三个角色: 1)环境类(Context):是使用算法的角色,它在解决某个问
2016-06-26 19:44:50 427
原创 C#设计模式—观察者模式
1、观察者模式定义 定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。属于对象行为模式。2、观察者模式 1)目标类(Subject):指的是被观察的对象,定义一个观察者的集合。一个观察目标可以被多个观察者观察。目标提供一系列方法来增加和删除观察者对象。目标类可以是接口类,也可以是抽象了或具体类。 2)具体目标类
2016-06-26 19:12:43 431
原创 C#设计模式—解释器模式
1、解释器模式定义给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。说明:解释器模式设计到文法规则和抽象语法树。2、解释器模式的结构解释器模式包含四个角色:1)抽象表达式(AbstractExpress):声明抽象的解释操作,它是所有终结符表达式和非终结符表达式的公共父类。2)终结符表达式(Termina
2016-06-24 22:18:12 1291
原创 C#设计模式—代理模式
1、代理模式的定义 给某一个对象提供一个代理或占位符,并由代理对象来控制对源对象的访问。 说明:当用户无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象需要实现相同的接口。根据代理类使用的目的不同,可以将代理区分为:保护代理,远程代理,虚拟代理,缓冲代理等。2、代理模式的结构 代理模式的实现包含
2016-06-24 22:16:28 449
原创 C#窗体截图保存的实现
在项目要求实现对窗体的部分控件进行截图,并保存。这里我整理了一下有关截图的过程。包括截图的范围(两种情况,第一种是对整个窗体截图;第二种是对窗体中的控件进行局部截图)、截图后保存的方式(两种情况,第一种是弹出对话框进行选择路径保存;第二种是默认路径直接保存)。 说明1:代码中为了方便,我将截图的两种方法的代码独立分开来写的。 说明2:文中对窗体中的控件截图(部分截图)指的是We
2016-06-23 21:48:09 8438 3
原创 HTML中实现VLC播放器并对播放器进行控制
由于在项目中,涉及到对C#中WebBrowser控件的应用,要求是在WebBrowser中嵌入一个带有视频的HTML网页。WebBrowser在C#中默认的是IE浏览器,且版本比较低,因此要对该控件进行加载HTML网页,需要在IE较低版本下进行操作。本次主要是描述HTML中VLC视频播放器如何实现的,以及对VLC播放器实现屏幕放大,视频播放,视频暂停,音量控制,截图功能(实现过程比较复杂,此处没有
2016-06-23 11:05:51 16589 5
翻译 VLC web 插件javascript常用接口及属性
嵌入标签属性将插件嵌入到网页中使用模板: 标签中所需要嵌入的属性有:Width:指定插件的宽度;Height:指定插件的高度;Target、mrl、filename、src:加载的视频源。标签属性中可选的属性:Autoplay,autostart:控制视频初试播放的状态,默认值为真(True);Allowfullscreen:该属性是从VLC版本的1.2
2016-06-22 22:13:42 6120
转载 VLC的ACtiveX插件使用方法
最近由于项目的需要,需要在C#的webbrowser控件中嵌入HTML,但是在HTML中需要用到VLC视频播放器。 对VLC的二次开发 包括把VLC嵌入自己的应用 ,以及修改VLC本身的功能和特性。本文主要讲前者。总的来说把VLC内嵌入自己的应用有4种途径:直接调用VLC进程(喂喂喂…这也算?)VLC的plugin for MozillaVLC的ActiveX插件调用
2016-06-20 18:46:07 2317
原创 Q23:从上往下打印二叉树
import java.util.LinkedList;import java.util.Queue;import BinaryTree.BinaryTreeNode;public class Q23 {/*** 题目:从上往下打印二叉树* 要求:即:层次遍历二叉树*/public static void main(String[] args) {//输入一棵二
2016-06-19 20:43:36 222
原创 Q24:二叉搜索树的后序遍历序列
public class Q24 {/*** 题目:二叉搜索树的后序遍历序列* 要求:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回True,否则返回false* 假设输入的数组的任意两个数字都互不相同。*/public static void main(String[] args) {//输入序列int[] sequence={5,7
2016-06-19 19:39:16 220
原创 C#设计模式—装饰模式
一、装饰模式定义 动态地给一个对象增加一些额外的职责,就扩展功能而言,装饰模式提供了一种比使用子类更加灵活的替代方案。 说明:装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。 在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩展原有类的功能。二、装饰模式的结构1)抽象
2016-06-18 20:09:49 472
原创 C#设计模式—组合模式
一、组合模式的定义 组合多个对象形成树形结构以表示具有部分——整体关系的层次结构。二、说明 组合模式关注那些包含叶子构件和容器构件的结构以及它们的组织形式,在叶子结构中不包含成员对象,而容器构件中包含成员对象,这些对象通过递归组合可构成一个树形结构。 由于容器对象和叶子对象在功能上存在区别,因此在使用这些对象的代码中必须有区别的对待容器对象和叶子对象。三、组合
2016-06-18 12:27:31 394
原创 Q392判断是否为平衡二叉树(后序遍历实现)
import BinaryTree.BinaryTreeNode;//判断二叉树是否为平衡二叉树public class Q392 {/*** 题目:输入一棵二叉树,判断该树是不是平衡二叉树,在Q391中给出的解法是通过递归遍历实现的。* 该方法操作简单,但是有的结点需要访问多长,导致时间效率比较低。* 在Q392是通过后序遍历实现的*/public static
2016-06-17 21:09:00 438 1
原创 Q391判断是否为平衡二叉树(递归实现)
import BinaryTree.BinaryTreeNode;//二叉树的深度——平衡二叉树public class Q391 {/*** 题目:输入一棵二叉树的根节点,判断该树是不是平衡二叉树* 思路:要判断二叉树,需要知道每个结点的深度(通过Q39来得到)*/public static void main(String[] args) {Binary
2016-06-17 20:48:27 358
原创 Q39:二叉树的深度(递归实现)
import javax.swing.RootPaneContainer;import BinaryTree.BinaryTreeNode;//二叉树的深度public class Q39 {/** 题目:输入一棵二叉树的根节点,求该树的深度* 思路:采用递归算法:树的高度=1(根节点)+max{左子树的深度,右子树的深度};*/public static void
2016-06-17 20:30:35 271
转载 html文件的中文乱码问题与在浏览器中的显示
html文件是有编码方式的,比如"UTF-8"、"GBK"等等。这些在记事本中或许看不出来,但是在eclipse中,可以设置html文件的编码方式,以下的图片中会有说明。 测试一: 以"UTF-8"方式保存html文件,具体的文件内容见下图: 图中可以看到,文件的编码方式为"UTF-8",下方的红框中的Other所示,是在eclipse中设置的。图
2016-06-16 09:55:20 6486
原创 C#设计模式—桥接模式
一、定义: 桥接模式将抽象部分与它的实现部分解耦,使得两者都能独立变化。 说明:桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象关联取代了传统的多层继承,将类之间的静态继承关系转换为动态的对象组合关系,提高系统的灵活性,易于扩展,有效控制系统中类的个数。 桥接模式又称为柄体模式或接口模式。二、桥接模式的结构 桥接模式包含四个部分:1)抽象类(A
2016-06-15 21:14:24 519
原创 C#设计模式—适配器模式
从本节开始描述结构型设计模式。一、结构型模式(StructuralPattern):(1)关注将现有类和对象组织在一起形成更强大的结构;(2)结构型模式可分为两类:类结构型模式和对象结构型模式。 (3)类结构型模式:关心的是类的组合,形成更大的系统,一般只存在继承关系和实现关系。(4)对象结构型模式:关心的是类和对象的组合,通过关联关系在一个类中定义另一个类的实例对象,然后通过
2016-06-14 21:27:58 338
原创 Html中修改视频播放器的param属性的value的值
在网页中嵌入一个VLC视频播放器,默认的浏览器是IE的,要修改该播放器的一些param属性值的做法如下: 首先是将播放器软件VLC嵌入到html中(部分代码如下): center="center" width="900" height="600" id="vlc"> -->
2016-06-14 20:11:45 1522
转载 JavaScript中解决浏览器兼容性问题
在项目中需要在C#中嵌入WEB页面,由于Webbrowser默认的浏览器是IE7,因此在项目的开发中设计到了兼容性的问题。下面是解决javascript中一些关于浏览器兼容性的问题,并举例进行说明。1、document.formName.item(”itemName”) 问题 问题说明:IE下,可以使用 document.formName.item(”itemName”)
2016-06-14 19:44:34 618
原创 C#项目中发生PInvokeStackImbalance异常,堆栈不对称异常
在项目中嵌入视频播放软件时,系统中提示堆栈不对称异常。当修改DLL为动态导入时,即将[DllImport(“libvlc”)]修改为[DllImport(“libvlc”, CharSet = ChartSet.Ansi,CallingConvention = CallingConvention.cdecl)]上述异常就会消失,但是接着就会报出异常:未处理EntryPointNotFo
2016-06-13 09:57:10 4510
转载 java中堆和栈的区别,递归和迭代的区别
1. 读取某个文件夹下的文件 采用深度优先的方法,遍历文件夹,有文件就进行文件操作。 深度优先方法:使用递归实现:private void recursion (Path path) { FileStatus[] children = fs.listStatus (path); for(FileStatus child : children){
2016-06-13 08:04:53 910
原创 Q25:二叉树中和为某一值的路径
import java.util.Stack;import BinaryTree.BinaryTreeNode;//二叉树中和为某一值的路径//题目:输入一棵二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的//根节点开始往下一直到叶节点所经过的结点形成一条路径。public class Q25 {public static void main(
2016-06-12 22:36:39 372
转载 C#中Any CPU和X86和X64平台的差异对比
最近在C#项目中嵌入一个视频软件Ffplayer,出现报错现象,提示平台开发视频.dll文件的兼容性和加载格式不正确的问题。最终查看是由于项目平台选择的是Any CPU和X86的引起的。目标平台有什么作用,各选项有什么差别。 一、在VisualStudio中,在编译设置中有如下选项: x86: 将程序集编译为由兼容 x86 的 32 位公共语言运行库运行。
2016-06-11 09:17:54 18867 2
原创 Q18:树的子结构
import BinaryTree.BinaryTreeNode;//输入两个棵二叉树A和B,判断B是不是A的子结构。public class Q18 {public static void main(String[] args) {//创建二叉树A的结点BinaryTreeNode root1 = new BinaryTreeNode();BinaryTreeNode n
2016-06-11 09:06:37 321
原创 C#设计模式—建造者模式
一、建造者模式定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 说明:建造模式是一种对象创建型模式,它将客户端与包含多个部件的复杂对象的创建过程分离,客户端无须知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。二、建造者模式结构 1)抽象建造者:为创建一个产品对象的各个部件指定抽象接口,该接口中一般包含两个方法:
2016-06-10 21:39:39 1414 2
原创 C#设计模式—抽象工厂模式
一、相关知识 1)产品等级结构:也称为继承结构。 2)产品族:由同一个工厂生产的,位于不同产品等级结构中的一组产品。二、抽象工厂模式定义 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。 区别于工厂方法模式:抽象工厂模式中的具体工厂不只是创建一种产品,而是负责创建一族产品。三、抽象工厂模式的结构 1)抽象工厂:一组用于创
2016-06-10 00:18:08 308
原创 C#项目中WebBrowser控件的应用
文档中整理了WebBrowser的属性设置和方法的实现。C#中WebBrowser控件的属性和方法:http://download.csdn.net/detail/qq_30507287/9544960
2016-06-08 22:06:35 366
原创 设计模式—工厂方法模式
一、工厂方法模式定义定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。工厂方法模式又名“工厂模式”“虚拟构造器模式”“多态工厂模式”。二、结构工厂方法模式包含四种角色:1) Product(抽象产品):是定义产品的接口,是工厂方法模式创建对象的超类型,是产品对象的公共父类。2) ConcreteProduct(具体产品
2016-06-04 09:47:50 333
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人