`
felixour
  • 浏览: 31731 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论
文章列表
弹奏你最美丽的音符 今天我们来做的是电脑钢琴,包括最基本的8个白键和5个黑键,声音包会在附件中给出。 首先来看看我们的钢琴界面吧:  我们要实现的功能有:当你鼠标移动到对应的按键时,就会发出对应的声音当我们按数字键1-8时,也会弹吹对应白键的声音。这就需要我们添加鼠标监听器和键盘监听器,鼠标监听器我们选择mouseEntered,键盘监听器我们选择keyPresse.   首先我们设置监听器: public class MusicListener extends MouseAdapter implements KeyListener { private AudioClip au ...
2013.07.31   上课内容:二叉树   首先我们回顾一下上节课的内容,上节课我们讲的是链表。我们知道了双链表每个节点是由一个三部分组成,一部分存储数据,另外两个部分分别存储上一个节点的地址和下一个节点的地址。那么我们今天要讲的二叉树其实与双链表里节点的组成是相同的,只不过除了存储数据部分外,另外两个分别存储以该节点作为根节点的左子树和右子树的地址。二叉树和链表的最大区别在于链表是一条链子,是特殊的二叉树,而二叉树更像一个树木,有根和叶子。   下面我们来具体地介绍一下二叉树:首先二叉树有一个最顶端的节点,叫做根节点,然后在根节点下有很多的节点我们称之为叶子节点。每个节点都 ...
2013.07.30   上课内容:链表   上节课我们学习了队列,我们知道队列也是由数组来实现的,而数组的新建所要开辟的内存空间是连续的。而我们这节课要讲的链表是在内存中开辟不连续的空间,每一个节点可以存储不同的数据类型。链表存储没有顺序,它是由节点组成的,除了根节点和尾节点,每一个节点跟两个节点相连,下面我们来介绍三中链表:   单链表:一个节点由两部分组成:一个是该节点的数据,这里用data表示。一个是该节点指向的地址,这里用next表示。我们从一个根节点开始,给根节点一个data,当我们再建立一个节点时,会把地址给根节点的next,这样,我们再创建一个地址,就会把地址给上一 ...
我们学习了自定义队列,那么下面我们就可以来实现我们画板的重绘了!下面分析一下重绘的过程,每次画上去以后,我们就要记录这次画的是什么形状,起始坐标和中止坐标。然后把坐标和形状放入自定义类存入队列中,然 ...
2013.07.28   上课内容:自定义队列   这节课我们学习自定义队列。首先我们来回顾一下上节课的内容,上节课我们讲的是数组,我们知道了数组的一些优点和缺点,这里我们总结一下:优点:1、数组可以快速地通过下标访问自己所需要的数据,访问速度快。2、数组是引用传递,这里我们在五子棋里就用到了数组常量,地址不允许改变,但可以改变里面的值,非常方便3、数组存储的是同以数据类型,不会把自己搞乱4、一个数组可以存储大量数据,起到简化代码的作用   缺点:1、数组的大小一开始就被限定了2、数组的类型一开始也被限定了,如果想寸其他数据类型的就要新建一个数组   通过数组的缺点,我们发现 ...
2013.07.27   这节课我们要讲的是数组,数组我在学C的时候就接触过,但是java的数组和C还是有所区别的,我们还是一点点的进行介绍。 1、连续空间首先要定义一个数组,我们这里定义一个int类型数组:int[] array = new int[10];定义数组时,会在内存中开辟一个空间,大小由4*8*10=320个0 1组成。而且这段空间是连续的,array代表一个首地址,也是array[0]的地址,后面的会根据下表计算其地址。   2、类型固定定义了一种类型后,就不能再更改,比如我们int[] array = new int[10]; 这样就定义了整型数组,那么以后我们 ...
2013.07.25   上课内容:多线程   在讲线程之前,我们先来谈谈进程。在我接触电脑的一段时间后,开始发现当打开任务管理器后,会有一个进程的显示,下面的映像名称里有很多的可执行文件。这些可执行文件有的是系统默认的,有的是我们打开的,他们都会占用一定内存。知道了进程,那么什么是线程呢?线程就是运行中程序的调度单位。我们知道,以前我们写的代码,程序都是从上往下进行,就是必须要执行完上一句才会执行下一句。我们称这种为单线程的程序。那么多线程就是指同时有多个单线程同时进行运作,比如我们今天要做的小球游戏,如果面板中有多个小球在运动,那么我们就要建立多个小球对象,然后让他们同时运动,但 ...
 终于完成了我第二个用事件做的项目,就是简单计算器的实现。这个计算器是仿造windows xp下的计算器制作的。  我们的计算器要实现有以下功能:退格、清除当前、清除、数字按钮、三角函数、正负号、点、四则运算、开根号、百分号、倒数。我们不妨分为三类:基础按钮:数字按钮、退格、清除单位运算:三角函数、正负号、点、百分号、倒数双位运算:四则运算   首先我们要看一下窗体的布局,默认的是边框布局,那我们不妨就用边框布局啦~北部是一个文本输入框,中间是有很多很多按钮的面板。我们先做北部,记得把文本框设置为不可编辑。 public JPanel panelnorth() { JPanel p ...
从一开始接触计算机,我们就知道计算机的  开始菜单-程序-附件中有个画图工具。在当时这个工具也是的确非常的好用,那么今天我们要做的是一个简单的画板。这个画板能够实现画直线,画矩形,画圆角矩形,画圆,画三角形这五个功能。这便是我用事件机制做出来的第一个程序。   首先我们分析一下如何实现这个画板。首先建立一个窗体,在窗体的北部添加5个按钮,分别为Line,Rectangle,RoundRect,Round,Triangle然后创建画布对象,用窗体类继承JFrame,并获取画布对象。 //设置窗体继承JFrame public class DrawTable extends JFrame ...
2013.07.16   上课内容:事件机制   这节课我们要讲的是事件机制。所谓事件,就是我们平时生活的分割,我们所做的每一件事都可以称为事件,例如一个小球落到地面弹起等。那么我们这里要讲的事件机制是建立在图形界面上,当我们用鼠标点击一个按钮,当我们按下一个键盘上的按钮,都可以设置一个监听器来监视这个事件是否发生,然后进行相应的处理。   总结一下,事件源就是发生事件的对象,比如小球落到地面弹起,小球就是事件源。在java里,你的事件发生在哪个组件上,那个组件就是事件源。这里我们要注意一点:只有图形界面组件才能成为事件对象。那么事件监听方法就是用来捕获事件源上发生的动作。比如你 ...
2013.07.14   上课内容:类的继承   首先我们对上节课类的继承进行一下总结,类的继承关键字是extends,被继承的称为父类,继承父类的称为子类。子类会继承父类所有的方法和属性,但不会全部调用,原因是因为访问修饰符 ...
2013.07.11   上课内容:类的继承   说到类的继承,我们先来回顾一下类,类是具有一些相同或相似的物体的集合,是由属性和方法组成。类的继承就是在我们先定义的类的基础上,定义一个类去继承原先类的属性和方法,并 ...
2013.07.10   上课内容:swing界面   java主要有两个图形界面,一个是awt,一个是swingawt产生的比较早,而swing是在最近几个jdk版本中才有的,所以相对而言要比awt完善一些。   我们可以观察自己所打开的每一个窗口,例如eclips ...
2013.07.07   上课内容:类和对象回顾一下上节课内容,上节课我们讲了类和对象的定义,还有就是类中属性和方法的设置,以及方法的调用。这节课我们进行进一步的讲解:我们知道类是有属性和方法构成,而方法又是由普通方法和构造方法构成。普通方法表示的是对象的行为,构造方法表示的是实例化对象的方法。什么叫实例化对象的方法,简单地说,就是给对象进行初始化,我们在创建对象时,对象会有很多属性,然而这些属性必须通过set方法才能够对属性进行初始化。显然,这样会很麻烦,我们想在new一个新对象时就对属性有一个初始化,拥有默认的属性值,这时就要使用到构造方法。   构造方法的语法:public 类 ...
2013.07.06   上课内容:类和对象   定义:对象:生活中的某一个物品或者某一个事物,这里要尤其注重是某一个,统称的物品不算对象。 如篮球就不算对象,熊哥算对象。类: 一些拥有相同或相似特征的对象的集合,在程序中,类是一个固定的模版,这些对象都含有一些相同的特征,但属性并不一定相同。 java中类包括属性和方法。 如学生有姓名、性别、学号、成绩等属性,有学习、玩游戏、吃饭、睡觉等方法。 下面是在程序中类的实现方法:设置属性:private 数据类型  属性名;设置方法:public 返回值类型  方法名;   我们以学生为例: //建立一个学生类 public cl ...
Global site tag (gtag.js) - Google Analytics