控制台程序. 为了标识元素的类型,可以为菜单已提供的4中元素定义常量,用作ID.这有助于执行菜单项监听器的操作,还提供了一种标识颜色类型的方式.我们会累积许多应用程序范围的常量,所以把它们定义为可以静态导入的类中的静态域会比较方便.为了导入静态域,类必须在指定的包中,所以先建立包. 为了把类放在Constants包中,需要在硬盘的合适位置建立以Constants命名的目录,然后在编译Constants包中的类时,使用-classpath选项标识Constants目录的路径. // Defines…
控制台程序. 为表示事件的常量使用标识符可以直接启用组件对象的特定事件组.调用组件的enableEvent()方法,并把想要启用事件的标识符传送为参数,但这只在不使用监视器的情况下有效.注册监听器会自动启用监听器想要监听的事件,所以不需要调用enableEvent()方法.只有当希望对象能处理自己的某些事件时,才调用enableEvent()方法,但使用监听器可以达到相同的效果. 使用监听器对象是处理事件的首选方式,因为更容易直接启用对象的事件,代码也更简洁. // Main window fo…
1.概述 使用cocoStudio可以方便的制作动画,接下来的工作就是在我们的程序中使用制作的动画.这篇中,我将使用程序将两个动画连接起来 2.关联到项目 运行脚本创建我们的项目,将导出的动画.UI放到Resource文件夹中,然后重写init方法. bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Size…
控制台程序. 语义事件与程序GUI上的组件操作有关.例如,如果选择菜单项或单击按钮,就会生成语义事件. 对组件执行操作时,例如选择菜单项或单击按钮,就会生成ActionEvent事件.在选择或取消选择某个组件时,会生成ItemEvent事件.在调整可调整的对象(如滚动条)时,就生成AdjustmentEvent事件. 上面的每一种语义事件类型都定义了相应的监听器接口,这些接口都只声明了一个方法: 1.ActionListener定义了actionPerformed(ActionEvent e)方…
控制台程序. 在Java中实现对工具提示的支持是非常简单的,秘诀仍在我们一直使用的Action对象中.Action对象拥有存储工具提示文本的内置功能因为文本是通过SHORT_DESCRIPTION键提供的,我们只需要把工具提示文本存储为这个键的值即可. 下面仅列出修改后的SketcherFrame类: // Frame for the Sketcher application import javax.swing.*; import javax.swing.border.*; import ja…
控制台程序. 要为菜单项添加图标以补充工具栏图标,只需要在创建菜单项的Action对象中添加IconImage对象,作为SMALL_ICON键的值即可. // Defines application wide constants package Constants; import java.awt.Color; import javax.swing.*; public class SketcherConstants { // Path for images public final static…
控制台程序. 工具栏在应用程序窗口中通常位于内容面板顶部的菜单栏下,包含直接访问菜单选项的按钮.在Sketcher程序中可以为最常用的菜单项添加工具栏. 工具栏是javax.swing.JToolBar类定义的Swing组件.想SketcherFrame类定义中添加如下域,可以为这个类添加一个用于工具栏的成员: private JToolBar toolBar = new JToolBar(); 为了把工具栏添加到应用程序窗口中,需要在SkecherFrame构造函数已有代码的后面添加如下语句:…
控制台程序. 动作Action是任何实现了javax.swing.Action接口的类的对象.这个接口声明了操作Action对象的方法,例如,存储与动作相关的属性.启用和禁用动作.Action接口扩展了ActionListener接口,所以Action对象既是监听器,也是动作. 一些Swing组件,包括JMenu和JToolBar类型的组件,都有add()方法,可以接受Action类型的参数.当使用add()方法把Action对象添加到JMenu对象中,add()方法就会创建类型自动正确的组件.…
控制台程序. 定义事件监听器的类必须实现监听器接口.所有的事件监听器接口都扩展了java.util.EventListener接口.这个接口没有声明任何方法,仅仅用于表示监听器对象.使用EventListener类型的变量可以保存任意事件监听器对象的引用. 要为特定的事件类型实现监听器,只需要实现对应接口中的方法即可.让应用程序类成为窗口事件的监听器,就可以处理SketcherFrame窗口的一些窗口事件.接下来必须创建Sketcher对象,作为事件的监听器. // Main window fo…
控制台程序. 为了与Sketcher中的其他元素类型保持一致,需要为Elements菜单添加Text菜单项和工具栏按钮.还需要定义用来表示文本元素的类Element.Text. 1.修改SketcherFrame类添加文本定义菜单项和工具栏按钮: // Frame for the Sketcher application import javax.swing.*; import javax.swing.border.*; import java.awt.event.*; import java.…
先认识java的基础知识 1.变量命名规则 :1)变量名由数字字母下划线组成,2)不能使用java的关键字,比如public这种,3)遵循小驼峰命名法 2.数据类型 2.1基本数据类型有8种 其中分为四种:1)整数型:byte short int long:2)浮点型:float double:3)字符型:char:4)布尔型:boolean: 2.2数据之间的转换: 顺序:从左往右,依次变高位byte short(char) int long float double 规则:1)低位变高位,j…
控制台程序. 定义监听器类有许多方式.下面把监听器类定义为单独的类MouseHandler: // Mouse event handler for a selection button import java.awt.Cursor; import java.awt.event.*; public class MouseHandler extends MouseAdapter { Cursor handCursor = new Cursor(Cursor.HAND_CURSOR); Cursor…
控制台程序. 适配器类是指实现了监听器接口的类,但监听器接口中的方法没有内容,所以它们什么也不做.背后的思想是:允许从提供的适配器类派生自己的监听器类,之后再实现那些自己感兴趣的类.其他的空方法会从适配器类中继承,所以无须担心它们. 修改上一文中的Sketcher类如下: // Sketching application import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Sketcher…
控制台程序,上一条博文(PrimesToFile2)每次将一个素数写入到文件中,所以效率不是很高.最好是使用更大的缓冲区并加载多个素数. 本例重复使用三个不同的视图缓冲区加载字节缓冲区并尽可能加入更多的素数,推荐使用这种方式. import static java.lang.Math.ceil; import static java.lang.Math.sqrt; import static java.lang.Math.min; import static java.nio.file.Stan…
第一讲     对象序列化 一.概述 将堆内存中的对象存入硬盘,保留对象中的数据,称之为对象的持久化(或序列化).使用到的两个类:ObjectInputStream和ObjectOutputStream 二.特有方法 ObjectInputStream: Object readObject();//从ObjcetInputStream中读取对象 ObjectOutputStream: void writeObject(Objcet obj);//将指定对象写入ObjcetOutputStream…
1.成员变量:全局变量/字段(Field),不要称之为属性(错误)直接定义在类中,方法外面 1.类成员变量    使用static修饰的变量 2.实例成员变量 没用使用static修饰的变量 局部变量:除了成员变量其他的变量都是局部变量 1.方法体中的变量 2.方法的形参 3.代码块中的变量 (一对{}) ------------------------------------------------------------------------------------------------…
基本语法-程序流程控制 程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即: 顺序结构 分支结构 循环结构 顺序结构 Java中定义成员变量时采用合法的前向引用.如: public class Test{ int num1 = 12; int num2 = num1 + 2; } 分支结构 package com.parzulpan.java.ch02; import java…
代码 public class Test { public static void main(String[] args) { Shape shape = new Circle(); System.out.println(shape.name); shape.printType(); shape.printName(); } } class Shape { public String name = "shape"; public Shape(){ System.out.println(…
说到java网络通讯章节的内容,刚入门的学员可能会感到比较头疼,应为Socket通信中一定会伴随有IO流的操作,当然对IO流比较熟练的哥们会觉得这是比较好玩的一章,因为一切都在他们的掌握之中,这样操作起来就显得非常得心应手,但是对于IO本来就不是多熟悉的哥们来说就有一定的困难了,在搞清楚IO流操作机制的同时还必须会应用到Socket通信中去,否则会对得到的结果感到非常郁闷和懊恼,下面就和大家一起分享一下自己遇到一点小麻烦后的感触以及给出的解决办法. 要求:客户端通过Socket通信技术上传本地一…
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.   题目代码 import java.util.Scanner; /** * 题目描述 * 在一个二维数组中(每个一维数组的长度相同), * 每一行都按照从左到右递增的顺序排序, * 每一列都按照从上到下递增的顺序排序. * 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该…
factory                                 / 'fæktəri /                    工厂 fetch                                     / fetʃ /                        取得 final                            / 'fainəl /                     最后的,最终的 focus                    …
赋值运算符 : = 三元运算符 : ? 算术运算符 : +.- .*./.% 自增自减运算符: ++.-- 关系运算符:>.<.==.>=.<=.!= 逻辑运算符 :&.|.&&.||.! 位运算符:&.|.^.~.<<.>>.<<< 十进制二进制转换 程序结构:顺序结构.分支结构.逻辑结构 swicth case 原本仅支持 char.int 类型,后续添加了 enum.String 数据类型支持.swit…
有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了.下表中列出了一些URL特殊符号及编码                                             1. +        URL 中+号表示空格     %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. /      分隔目录和子目录            %2F 4. ?       分隔实际的 URL 和参数                     …
 * 创建图形化界面  * 1.创建frame窗体  * 2.对窗体进行基本设置  *   比如大小.位置.布局  * 3.定义组件  * 4.将组件通过窗体的add方法添加到窗体  * 5.让窗体显示,通过setVisible(true) import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener;…
小程序的分享 onShareAppMessage(options)   在页面的js文件中定义了 onShareAppMessage 函数时,页面可以表示改页面可以转发.可以在函数中设置页面转发的信息. 1. 只有定义了该函数,小程序右上角的菜单中才会有转发按钮 2. 用户点击转发按钮的时候回调用该函数 3. 该函数内需要 return 一个 Object,Object中包含转发的信息(可自定义转发的内容)   页面中有可以触发转发时间的地方有两个: 一个是右上角菜单中的转发按钮 另一个是页面中…
在C#中,得益于强大的GC机制,使得我们开发程序变得非常简单,很多时候我们只需要管使用,而并不需要关心什么时候释放资源.但是,GC有的时并不是按照我们所期望的方式工作. 例如,我想实现一个在窗口的标题栏中实时显示当前的时间,一个比较常规的做法如下: var timer = new DispatcherTimer() { Interval = TimeSpan.FromSeconds(1) };    timer.Tick += (_s, _e) => this.Title = DateTime.…
bindTap对应的绑定事件, 第一个:wx.navigateTo wx.navigateTo({ url:"../content/content" }) 第二个:wx.redirectTo wx.redirectTo({ url:"../content/contetn" }) 他两个的不同之处在于第一个绑定之后,点击执行之后,会跳转到新页面,同时新页面的左上角有返回按钮,可以返回刚才之前的页面.他可以执行:onHide 第二个绑定之后,点击执行之后,同样会跳转到新…
Java基础语法 标识符在程序中自定义的一些名称.由26个英文字母大小写,数字:0-9符号:_&组成定义合法标识符规则:1.      数字不可以开头2.      不可以使用关键字Java中严格区分大小写注意:在起名字的时候,为了提高阅读性,要尽量有意义. Java中的名称规范:包名:多单词组成时所有字母都小写.         xxxyyyzzz类名接口名:多单词组成时,所有单词的首字母大写.   XxxYyyZzz变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首…
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... public class Prog1{ public static void main(String[] args){ int n = 10; System.out.println("第"+n+"个月兔子总数为&qu…