控制台程序. 动作Action是任何实现了javax.swing.Action接口的类的对象.这个接口声明了操作Action对象的方法,例如,存储与动作相关的属性.启用和禁用动作.Action接口扩展了ActionListener接口,所以Action对象既是监听器,也是动作. 一些Swing组件,包括JMenu和JToolBar类型的组件,都有add()方法,可以接受Action类型的参数.当使用add()方法把Action对象添加到JMenu对象中,add()方法就会创建类型自动正确的组件.…
控制台程序. 在Java中实现对工具提示的支持是非常简单的,秘诀仍在我们一直使用的Action对象中.Action对象拥有存储工具提示文本的内置功能因为文本是通过SHORT_DESCRIPTION键提供的,我们只需要把工具提示文本存储为这个键的值即可. 下面仅列出修改后的SketcherFrame类: // Frame for the Sketcher application import javax.swing.*; import javax.swing.border.*; import ja…
控制台程序. 工具栏在应用程序窗口中通常位于内容面板顶部的菜单栏下,包含直接访问菜单选项的按钮.在Sketcher程序中可以为最常用的菜单项添加工具栏. 工具栏是javax.swing.JToolBar类定义的Swing组件.想SketcherFrame类定义中添加如下域,可以为这个类添加一个用于工具栏的成员: private JToolBar toolBar = new JToolBar(); 为了把工具栏添加到应用程序窗口中,需要在SkecherFrame构造函数已有代码的后面添加如下语句:…
控制台程序. 要为菜单项添加图标以补充工具栏图标,只需要在创建菜单项的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…
控制台程序. 为了标识元素的类型,可以为菜单已提供的4中元素定义常量,用作ID.这有助于执行菜单项监听器的操作,还提供了一种标识颜色类型的方式.我们会累积许多应用程序范围的常量,所以把它们定义为可以静态导入的类中的静态域会比较方便.为了导入静态域,类必须在指定的包中,所以先建立包. 为了把类放在Constants包中,需要在硬盘的合适位置建立以Constants命名的目录,然后在编译Constants包中的类时,使用-classpath选项标识Constants目录的路径. // Defines…
控制台程序. 适配器类是指实现了监听器接口的类,但监听器接口中的方法没有内容,所以它们什么也不做.背后的思想是:允许从提供的适配器类派生自己的监听器类,之后再实现那些自己感兴趣的类.其他的空方法会从适配器类中继承,所以无须担心它们. 修改上一文中的Sketcher类如下: // Sketching application import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Sketcher…
控制台程序. 定义事件监听器的类必须实现监听器接口.所有的事件监听器接口都扩展了java.util.EventListener接口.这个接口没有声明任何方法,仅仅用于表示监听器对象.使用EventListener类型的变量可以保存任意事件监听器对象的引用. 要为特定的事件类型实现监听器,只需要实现对应接口中的方法即可.让应用程序类成为窗口事件的监听器,就可以处理SketcherFrame窗口的一些窗口事件.接下来必须创建Sketcher对象,作为事件的监听器. // Main window fo…
控制台程序. 为表示事件的常量使用标识符可以直接启用组件对象的特定事件组.调用组件的enableEvent()方法,并把想要启用事件的标识符传送为参数,但这只在不使用监视器的情况下有效.注册监听器会自动启用监听器想要监听的事件,所以不需要调用enableEvent()方法.只有当希望对象能处理自己的某些事件时,才调用enableEvent()方法,但使用监听器可以达到相同的效果. 使用监听器对象是处理事件的首选方式,因为更容易直接启用对象的事件,代码也更简洁. // Main window fo…
控制台程序. 定义监听器类有许多方式.下面把监听器类定义为单独的类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…
控制台程序. 语义事件与程序GUI上的组件操作有关.例如,如果选择菜单项或单击按钮,就会生成语义事件. 对组件执行操作时,例如选择菜单项或单击按钮,就会生成ActionEvent事件.在选择或取消选择某个组件时,会生成ItemEvent事件.在调整可调整的对象(如滚动条)时,就生成AdjustmentEvent事件. 上面的每一种语义事件类型都定义了相应的监听器接口,这些接口都只声明了一个方法: 1.ActionListener定义了actionPerformed(ActionEvent e)方…
控制台程序. 为了显示各个应用程序参数的状态,并且将各个参数显示在各自的面板中,在应用程序窗口的底部添加状态栏是常见且非常方便的方式. 定义状态栏时没有Swing类可用,所以必须自己建立StatusBar类.在理想情况下,应为一般目地的状态栏设计类,然后再针对Sketcher进行定制.但由于篇幅显示,这里采用简单方法说明如何设计专用语Sketcher的类. // Class defining a status bar import javax.swing.*; import java.awt.*…
控制台程序. 在Sketcher中创建形状时,并不知道应该以什么顺序创建不同类型的形状,这完全取决于使用Sketcher程序生成草图的人.因此需要绘制形状,对它们执行其他操作而不必知道图形是什么.当然,多态性在这里是有帮助的. 最简单的方法可能是为Sketcher形状类定义通用的基类,并在每个形状类中包含一个成员来存储某种java.awt.geom形状对象,接着把对形状类对象的引用存储为基类类型以获得多态行为. 1.通用基类: import java.awt.*; import java.io.…
控制台程序. 在模型中表示数据视图的类用来显示草图并处理用户的交互操作,所以这种类把显示方法和草图控制器合并在一起.不专用于某个视图的通用GUI创建和操作在SketcherFrame类中处理. 模型对象包含构成草图的文本和图形.模型类可以称为SketcherModel,表示模型视图的类可以称为SketcherView. 应用程序对象全面负责管理程序涉及的其他对象之间的链接.只要应用程序类能使每个对象可用,可以访问应用程序对象的任何对象就都要与其他对象进行通信.因此,应用程序对象是对象之间的通信通…
Java基础常见英语词汇(共70个) ['ɔbdʒekt] ['ɔ:rientid]导向的                             ['prəʊɡræmɪŋ]编程 OO: object-oriented ,面向对象 OOP: object-oriented programming,面向对象编程 [dɪ'veləpmənt][kɪt]工具箱                              ['vɜːtjʊəl]虚拟的 JDK:Java development kit, j…
<p>------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! -------</p><p> </p><p>笔记一共记录了毕向东的java基础的25天课程,分上.中.下</p><p>本片为中篇,涵盖11-20天课程</p&…
1. Java基础部分....................................................... 4 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?.. 4 2.Java有没有goto?................................................. 4 3.说说&和&&的区别............................................…
目录 索引 Java基础知识篇 Java web基础知识总结 Java集合篇常见问题 Java基础知识篇 面向对象和面向过程的区别 面向过程: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开发.Linux/Unix等一般采用面向过程开发,性能是最重要的因素. 缺点:没有面向对象易维护.易复用.易扩展 面向对象: 优点:易维护.易复用.易扩展,由于面向对象有封装.继承.多态性的特性,可以设计出低耦合的系统,使系统更加灵活.更加易于维护 缺点:性能比面…
Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他.有些题来自网上搜集整理,有些题来自传智播客学员面试后的反馈,说真的,少数一些网上的面试题,我真怀疑其是否还有存在价值! 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?      可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有没有goto?  …
现在的程序员越来越多,大部分的程序员都想着自己能够进入大厂工作,但每个人的能力都是有差距的,所以并不是人人都能跨进BATJ.即使如此,但身在职场的我们一刻也不能懈怠,既然对BATJ好奇,那么就要朝这个目标努力下去.以下是阿里在职P7整理出来的最“硬核”的面试文档,文档内容包含的专题非常多,可以免费分享给大家学习. 由于篇幅有限,以下只展示了这份文档的部分题目内容,题目答案也只展示了截图,可能因为压缩问题看不清楚,所以需要完整版的面试问题及答案的小伙伴,这些资料加入我的Java进阶裙:730863…
一. Java基础部分 2 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2 2.Java有没有goto? 2 3.说说&和&&的区别. 2 4.在JAVA中如何跳出当前的多重嵌套循环? 2 5.switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 2 6.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 2 7.char型变量…
Java基础 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 一个Java源文件中可以定义多个类,但最多只能定义一个public的类,并且public 类的类名必须与源文件名一致.一个文件中可以只有非public类,而且这些类的类名可以跟Java源文件名不同.例如一个Java源文件名中只定义了一个非public类MyClass,而源文件名为Other.java,编译后只会生成一个MyClass.class文件,不会生成Other.class文件. 2.Ja…
java基础复习记录(数组.对象.异常) 数组 数组的定义 数组是相同类型数据的有序集合.如:篮球队就是一个数组,队员球服上有号码,相当于索引.通过某一个的某一个号码来确认是某一个队员.数组中索引从0开始. 数组创建声明 1.首先必须声明数组变量,一下为声明数组变量的语法: dataType[] arrayRefVar; // 使用首选 或 dateType arrayRefVar[]; // 一般不用 int[] a; //创建变量名为a,数组类型为int的数组 int a[]; 2.java…
如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大家.对于这次跳槽找工作, 我准备了挺长的时间, 其中也收集了很多比较好的笔试面试题, 大都是一些常用的基础, 很多都是由于时间原因没有来得及给出答案, 但是题目大都是比较经典实用的, 现在都放到这里, 希望对正处于找工作的博友有一定的帮助. 第一部分: Java基础(此部分面试题题目来自:http:…
JAVA基础 基础部分的顺序: 基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 每天几道,持续更新!! 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?  可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有没有goto? java中的保留字,现在没有在java中使用. 3.说说&和&&的区别.  &和&…
GUI开发 先前用Java编写GUI程序,是使用抽象窗口工具包AWT(Abstract Window Toolkit).现在多用Swing.Swing可以看作是AWT的改良版,而不是代替AWT,是对AWT的提高和扩展.所以,在写GUI程序时,Swing和AWT都要作用.它们共存于Java基础类(Java Foundation Class,JFC)中. AWT依赖于主平台绘制用户界面组件:而Swing有自己的机制,在主平台提供的窗口中绘制和管理界面组件.Swing与AWT之间的最明显的区别是界面组…
注解(元数据) 从jdk5 开始,java支持在源文件中嵌入补充信息,称为注释(annotation).注释不会改变程序的动作,也就不会改变程序的语义.但在开发和部署期间,各种工具可以使用这类信息.元数据(metadata)也用于表示这一特性. RUNTIME保留策略 设计注释的主要目的是用于其他的开发和部署工具,但是如果为注释指定为RUNTIME保留策略,那么任何程序在运行时都可以使用反射来查询注释(java.lang.reflect,在运行时获取类相关信息的特性),动态地获取一些信息. im…
本文就java基础部分容易混淆的一些知识点进行了一下总结.因为Java本身知识点非常多,不可能在很短的篇幅就能叙述完,而且就某一个点来讲,如欲仔细去探究,也能阐述的非常多.这里不做全面仔细的论述,仅做为一个引子,抛砖引玉.具体个例,还需各位看官自己验证一下,以增进理解和记忆.    这下面的一些是我当初在过Sun公司的程序员认证的时候仔细学习指定教材SL-275时自己做的一些总结,也有后来在不同公司面试求职者或去求职时在不同公司看到的一些试题所涉及部分知识点.拟将来时间将求职笔试和面试java试…
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童鞋们来说,当你看到这份题目的时候,你应该感动很幸运,因为,只要你把题目中的内容都搞懂了,在笔试的时候就可以游刃有余,通过面试只有半步之遥了,笔试只能反映你的JAVA技能.不管你是面试各个级别的JAVA工程师.架构师.还是项目经理,这个系列文章都是你最宝贵的资源,里面包括整个JAVA体系的知识,总会有…
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给大家一些经验,能让大家更好学习和使用Java. 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的.和Java中各个框架相关的内容. 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容. 1. JVM相…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(object).对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class).同一类的对象属于相同的类型(type).我们可以定义类,并使用该定义来产生对象. 我们进一步深入到对象.了解Java中方法与数据成员的一些细节. 调用同一对象的数据成员 方法可以调用该对象…