明日科技

  • 关注
  • 发私信
  • 送积分
  • 根据桌面大小调整窗体大小

    窗体与桌面的大小比例是软件运行时用户经常会注意到的一个问题。例如,在1024×768的桌面上,如果放置一个很大(如1280×1024)或者很小(如10×10)的正方形窗体,会显得非常不协调,正是基于以上这种情况,所以大部分软件的窗体界面都是根据桌面的大小进行自动调整的,本实例就实现这样的功能。实例运行效果如图 本实例实现的重点是如何获取桌面的大小,而获取桌面大小时,主要用到窗体的工具包Too...

    344 0 0 0
  • 简单的截图软件

    在使用计算机时,有时会需要持久保存屏幕上显示的内容,此时可以使用截图软件将指定的区域制作成图片保存。比较好用的截图软件有Snagit、红蜻蜓等。本实例将使用Java的Robot类编写一个功能非常简单的截图软件。实例运行效果如图 Robot类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot的主要目的是便于Java平台实现自动测试。使用该类生成输...

    597 0 1 0
  • 利用反射重写toString()方法

    为了方便输出对象,Object类提供了toString()方法。但是该方法的默认值是由类名和哈希码组成的,实用性并不强。通常需要重写该方法以提供更多的信息。本实例使用反射输出类的包、类的名字、类的公共构造方法、类的公共域和类的公共方法。在重写不同类的toString()方法时调用该方法就可以避免多次重写toString()方法。实例运行效果如图 编写类StringUtils,在该类中定义...

    486 0 0 0
  • 使用通配符增强泛型

    利用泛型类型参数T,可以将类、方法或接口的类型限制为T类型。但是这种方式显然不够灵活。例如,T extends Number可以将类型限制为Number的一种子类型,一旦指定了该类型,就不能再修改了。而如果使用通配符就会让代码更加灵活。本实例演示如何在泛型方法中使用通配符,实例运行效果如图 泛型中使用“?”作为通配符。通配符的使用与普通的类型参数类似,如通配符也可以利用extends关键字来...

    327 0 0 0
  • 文件的保存对话框

    文件选择对话框包括文件的打开与保存和自定义几种类别。其中文件保存对话框常用于各类编辑器模块中,如系统自带的记事本程序的文件保存对话框、画图程序的文件保存对话框以及Photoshop程序的文件保存对话框等。本实例将通过Java代码实现文件保存对话框的显示,读者可以把它应用到自己的项目中。实例运行效果如图 在其中输入编辑文本,然后选择“文件”/“保存”命令,弹出“保存”对话框,如图 本实例同样...

    184 0 0 0
  • 编写中国省市信息树

    对于具有层次关系的结构,使用树控件描述是非常方便的,如文件夹及其子文件夹之间的关系、国家的行政结构关系等。本实例将使用树控件来表示中国的各个行政区域。使用Swing库中定义的工具类可以非常容易地实现。实例运行效果如图 说明:单击三角形的小图标可以显示和隐藏树节点。 DefaultMutableTreeNode是树数据结构中的通用节点。一个树节点最多可以有一个父节点、0 或多个子节点。Def...

    275 0 0 0
  • 模仿记事本的菜单栏

    在Windows操作系统中,自带了一款简单的文本编辑工具——记事本。记事本主要由菜单栏和文本区两部分组成。菜单栏实现了各种常用的功能,文本区用于让用户输入文本。本实例将实现一个类似记事本的菜单栏。实例运行效果如图 在Swing中使用菜单的第一步是创建一个菜单栏保存各个菜单,并将菜单栏添加到框架上。代码如下: JMenuBar menuBar = new JMenuBar(); ...

    370 0 0 0
  • 动态排序JavaBean

    Java中如果对对象排序可以考虑实现Comparable接口,但是需要排序的属性一旦指定就不能再修改。BeanUtils组件提供了对JavaBean动态排序的支持,即可以在运行时指定排序的属性。实例运行效果如图 BeanComparator通过指定的属性来比较两个bean。它也可以用来比较级联属性、索引属性、映射属性和组合属性等。BeanComparator默认把指定的bean属性传递给C...

    356 0 0 0
  • 计算程序运行时间

    在编写完程序后,通常都会对程序进行性能测试,比较常用的方法就是计算完成某个任务所花费的时间。System类提供了获得当前时间的方法,但是其单位是毫秒,阅读不方便。本实例将其转换成方便的阅读格式。实例运行效果如图 System类包含一些有用的类字段和方法,它不能被实例化。在System类提供的设施中,有标准输入、标准输出和错误输出流,对外部定义的属性和环境变量的访问,加载文件和库的方法,还有快...

    293 0 0 0
  • 汉诺塔问题求解

    汉诺塔问题的描述如下:有3根柱子A、B和C,在A上从下往上按照从小到大的顺序放着64个圆盘,以B为中介,把盘子全部移动到C上。移动过程中,要求任意盘子的下面要么没有盘子,要么只能有比它大的盘子。本实例实现了3阶汉诺塔问题的求解,实例运行效果如 为了将第N个盘子从A移动到C,需要先将第N个盘子上面的N-1个盘子移动到B上,这样才能将第N个盘子移动到C上。同理,为了将第...

    450 0 0 0
  • 判断用户名是否正确

    在程序的开发过程中,经常需要判断用户输入的用户名是否正确,可以通过对比用户输入的用户名字符串是否与数据库中或者已经存在集合中的字符串相同,来决定用户输入的用户名是否正确。Java的基本数据类型可以使用“==”判断两个操作数是否相等,但是对于Java类创建的对象就不能使用这种方法来判断是否相等了。字符串是基本数据类型之外的,也就是说字符串在Java中是对象。本实例将通过字符串相等判断来实现用户名...

    480 0 0 1
  • 捕获多个异常

    当遇到异常时,除了可以将异常抛出,还可以将其捕获。抛出虽然简单,但是有时却不得不使用捕获来处理异常。如果程序遇到异常而没有捕获,则程序会直接退出。这在大多数情况下是不能被接受的,至少需要保存程序当前状态才能退出。本实例将演示如何捕获多个异常,实例运行效果如图 Java中捕获异常是通过try、catch和finally 3个块来完成的。其中try块是必需的,catch和finally块可以...

    201 0 0 0
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部