日期是最基本的数据形式之一,因此很多语言或者数据库都提供了对日期的支持,或内置或提供这一类的库。java也不例外;java的应用编程接口提供了以跨平台独立语言的方式描述,计算,对比,显示以及便携式分析日期。 在这篇文章里,我要讲讲关于swing的自定义控制,允许你在视觉上获取时间信息而不是用敲命令的方式。用这种方法,你可以避免无效的时间信息,让你的使用者以视觉的方式得到享受。 java中的日期 java描述日期和时间的方法使用传统的date命令或者java的一些子库。不管它的名字是什么,日期的类并没有普通意义上的日期的概念(日,月,年等等)技术上讲,它仅仅是从1970年1月1日 00:00:00 gmt开始百万分之一秒的累加的一个结果。尽管这些关于日期的类有各种各样的处理日期的方法,这都是不够的。 为了方便的解决日期问题, jdk 1.1 介绍了一个抽象的类java.util.calend...
简介 现在,市场是紧缩的。框架可以节省设计和开发阶段的时间。ide可以使得我们更容易的开发用户接口。标准的gui应用程序用不同的面板布局来定义gui,已成为一种根本的模式而存在。基于这个模式,考虑使用框架来提高执行速度,达到更高的并行处理程度,协调更宽松的开发方式。我们在这里就要用java swing应用程序来描叙这么一个框架。 简单的应用程序-图书馆管理系统 我们下面来讨论一个简单的图书馆管理系统,用来理解基于xml的gui框架。 上面的流程图定义了图书馆用户接口的设计。主目录,会员登录,用户注册和书籍检索,这些都是应用程序中存在的面板(panel)。从流程图可以看出,在应用程序中可能的处理路径有下面几种: 主目录->用户注册->书籍检索 主目录->会员登录->书籍检索 原则 任何时候显示的面板依赖于先前面板的输出内容。因此,需要设计一个普通的控制器作为整个框架的窗体(form),它...
buoy 是一个构建在 swing 之上的免费用户界面(ui)工具包,它为 ui 开发人员提供了方便性和简单性。在本文中作者用一个简单的 fractal 用户界面程序,介绍了 buoy 可以做什么、为什么这么做。 第一次尝试用 java 语言构建简单的用户界面时,我对 swing 接口的复杂性感到有些惊讶。老实说,有点想打退堂鼓。最近,一个朋友向我提到,他使用的渲染程序 art of illusion(请参阅 参考资料)基于一个不同的工具包:buoy。推荐它的原因之一是它的界面更友好。当他第一次提到它时,我以为他在谈 "bui",而它与 gui 这个名字的相似是故意的。在这里 b 代表 better(更好),但是名字 buoy 并不是缩写。 buoy 是免费的。实际上,它是公共的东西。它并没有在某个开放程度合理的许可下发布,实际上它根本不受任何许可控制。这意味着在任何用 java 语...
一个好的用户界面(gui)的设计通常可以在现实世界找到相应的表现。 例如,如果在您的面前摆放着一个类似于电脑键盘按键的一个简单的按钮,然而就是这么简单的一个按钮,我们就可以看出一个gui设计的规则,它由两个主要的部分构成,一部分使得它具有了按钮应该具有的动作特性,例如可以被按下。另外一部分则负责它的表现,例如这个按钮是代表了a还是b。 看清楚这两点你就发现了一个很强大的设计方法,这种方法鼓励重用reuse,而不是重新设计redesign。你发现按钮都有相同的机理,你只要在按钮的顶上喷上不同的字母便能制造出“不同”的按钮,而不用为了每个按钮而重新设计一份图纸。这大大减轻了设计工作的时间和难度。 如果您把上述设计思想应用到软件开发领域,那么取得相似的效果一点都不让人惊奇。一个在软件开发领域应用的非常广泛的技术model/view/controller(mvc)便是这种思想的一个实现。 这当...
java 编程语言的线程模型可能是此语言中最薄弱的部分。它完全不适合实际复杂程序的要求,而且也完全不是面向对象的。本文建议对 java 语言进行重大修改和补充,以解决这些问题。 java 语言的线程模型是此语言的一个最难另人满意的部分。尽管 java 语言本身就支持线程编程是件好事,但是它对线程的语法和类包的支持太少,只能适用于极小型的应用环境。 关于 java 线程编程的大多数书籍都长篇累牍地指出了 java 线程模型的缺陷,并提供了解决这些问题的急救包(band-aid/邦迪创可贴)类库。我称这些类为急救包,是因为它们所能解决的问题本应是由 java 语言本身语法所包含的。从长远来看,以语法而不是类库方法,将能产生更高效的代码。这是因为编译器和 java 虚拟器 (jvm) 能一同优化程序代码,而这些优化对于类库中的代码是很难或无法实现的。 allen holub 指出,在我的《t...
一、概述 文本编辑器是一种最常用的应用程序,下面我们利用jbuilder 9集成开发环境,用java语言实现一个简单的文本编辑器。该文本编辑器具有读出、写入、编辑文本文件,可以设定文字颜色、字形和编辑区域背景颜色等基本功能。 我们首先通过jbuilder 9项目向导和应用向导创建项目,然后应用可视化设计工具,修改ui设计,连接事件,编辑源码以及常用控件和任务诸如菜单项、工具条、文本区域和系统事件等常用控件和任务的处理。涉及到具体技术有: 用jfilechooser 对话框让用户选择文本文件。 用jtextarea读、写和处理文本文件中的文字。 设置前景色和背景色。 用dbswing fontchooser对话框设置字型。 在状态栏和窗口标题栏显示信息。 手工添加处理ui事件的代码 。 通过将代码放在一个可被菜单项和按钮两个事件处理器调用的新的"帮助"方法中, 使得菜单项和...
谁知道通天的巴比伦塔耗费了多少沙石?又有谁知道罗马的建成经历了多少个日夜?我们惟一知道的是,没有一块块砖石的垒砌,就没有蜿蜒万里的长城;没有巨石和黏土的堆集,就没有亘古不变的金字塔。 由此可见,基础知识的准备对于我们学习任何事物都至关重要,那么,就让我们从认识swing的一些基础功能开始,启动我们建造罗马的伟大工程吧! 前言 java咖啡馆已经开张不少时日了,如果你已经喜欢上了java这杯咖啡的味道,那么记得常来哦。这一次,我们为大家准备了一大杯香浓的咖啡——将以开发一个“连连看”游戏为蓝本,和大家共同学习java中swing的用法,当你细心品味这杯咖啡后,你会发现,不但java这杯咖啡还别有一番风味,而且还学会了专业游戏的开发方法,真是两全其美! 为了让大家先睹为快,下图便是游戏的截图。大家可以下载游戏试玩(下载游戏程序;下载源文件),然后在命令行方式下使用java -jar kyoda...
从上一篇看到的jar的基本用法,似乎并没让人有感觉到jar的出现是给applet的应用带来了一个新的开始。但您也许看完了下面的,就会对jar稍有认同了。 很多试着在jbuilder里做过applet的java爱好者都知道,applet的界面布局是一个比较繁人的问题,远不是如vb里面把控件放到界面上那么简单,就算是用最"高级"的grid bag布局管理器,要在上面摆多个控件也是需要调整又调整的,而且就算是在jbuilder里面还看得可以接受,但换到浏览器里面也许又是另一个样子了,当然也有摆得好的,当毕竟是需要时间和经验的,可是在jbuilder里面如果对底板不选grid bag布局管理器,而选xy布局,那在上面摆控件就真的是一件很轻松的事情了,令人遗憾的是xy布局所调用的类是com.borland.jbcl.layout下面的,是由borland公司自己编写的,很显然这样编写的apple...
java平台从开始就被设计成为多线程环境。在你的主程序执行的时候,其它作业如碎片收集和事件处理则是在后台进行的。本质上,你可以认为这些作业是线程。它们正好是系统管理线程,但是无论如何,它们是线程。线程使你能够定义相互独立的作业,彼此之间互不干扰。 系统将交换这些作业进或出cpu,这样(从外部看来)它们好象是同时运行的。 在你需要在你的程序中处理多个作业时,你也可以使用多个进程。这些进程可以是你自己创建的,你也可以操纵系统线程。 你进行这些多作业处理,要使用几个不同的类或接口: java.util.timer类 javax.swing.timer类 thread类 runnable接口 对于简单的作业,通常需要重复的,你可以使用java.util.timer类告诉它“每半秒钟做一次”。注意:大多数系统例程是使用毫秒的。半秒钟是500毫秒。 你希望timer实现的任务是在j...
1. 为什么要使用swt? swt是一个ibm开发的跨平台gui开发工具包。至于为什么ibm要费劲自己另起炉灶开发一个gui工具包,而不是使用sun现有的由awt, swing, java 2d, java 3d等构成的java gui框架,那就说来话长了。(记得在一个bbs上读过一个关于swt起源的调侃类的帖子)。 在swt之前,sun已经提供了一个跨平台gui开发工具包awt (abstract windowing toolkit)。虽然awt框架也使用的是原生窗口部件(native widgets),但是它一直未能突破lcd问题。lcd问题导致了一些主要平台特征的遗失。如果你不明白的话(其实我也没明白),换句话说,如果平台a有窗口部件(widgets)1–40,而平台b有窗口部件(widgets)20–25,那么跨平台的awt框架只能提供这两个窗口部件集的交集。 为解决这个问...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器