不灵敏的图形用户界面会降低应用程序的可用性。当以下现象出现的时候,我们通常说这个用户界面反应不灵敏。 不响应事件的现象; 没有更新的现象; 这些现象在很大程度上与事件的处理方法相关,而在编写swing应用程序的时候,我们几乎必然要编写方法去响应鼠标点击按钮,键盘回车等事件。在这些方法中我们要编写一些代码,在运行时去触发一些动作。常见动作包括查找,更新数据库等。在这篇文章中通过对一个实例的分析,介绍了一些基本概念,常见的错误以及提出了一个解决方案。 event-dispatching thread 我们一定要记住,事件响应方法的代码都是在event-dispatching thread中执行的,除非你启用另一个线程。 那么,什么是event-dispatching thread呢?单一线程规则:一旦一个swing组件被实现(realized),所有的有可能影响或依赖于这个组件的状态的...
1.前言: 当我们学习过了java中的基本语法,并且熟悉java的面向对象基础以后,我们就可以开始简单的swing程序的设计,用过vb的朋友可能会被它的简单的设计用户界面方法所吸引,只需要拖几个控件到窗体上, 为每个空件编写event就可以简单的实现界面设计.但是强大的java也不比vb逊色.同样可以设计出精美的界面。 2.swing概述: 当java1.0刚刚出现时还没有swing,当时的gui基本编程库,sun取名叫awt(abstract window tookit),基本awt库处理用户界面的方法是将这些元素的创建行为交给,底层操作系统的gui工具箱进行处理,来实现wora的目的。而因为种种原因,不同的os之间存在差异,使得awt界面库存在许多bug。1996年sun同netscape通力合作创建了新的库取名swing。 如果,没有swing,java的图形界面就不名一文. sw...
在java swing编程中,程序员还可以自定义对话框,一般可以从jdialog类来继承。下面给出一个对话框类的代码:class helpabout extends jdialog implements actionlistener{ javaword mainframe; jbutton okbutton; javax.swing.timer mytimer; int counter=0; public helpabout(javaword mainframe) { super(mainframe,"关于本程序的说明",true); //true 代表为有模式对话框 this.mainframe= mainframe; jpanel contentpanel=new jpanel(); contentpanel.setlayout(new borderlayout()); jlabe...
很多初学者在用java布局器自动布局画界面时,经常遇见不知道如何定义区域大小或按钮之间的距离等问题。我写过一篇《实现java手动布局中各个组件能随窗口变化的方法》的文章,有读者反映算坐标不好算,问能不能用布局器实现文章中的界面。 其实自动布局也可以解决定义区域大小或按钮之间的距离等问题,只是没有手动布局那么灵活。下面我就举一个例子。 首先,建一个frame文件(application应用程序),在design中将this中的layout设置为borderlayout。 第二,在组件盘内点选swing container页签,选取jpanel图标,在this中上方拖拽一块区域,布局器会自动调整位置与大小;同样的方法在中下方也拖拽一块区域;在swing container页签,选取jscrollpane图标,将jscrollpane在中间拖拽一块区域。拖拽的顺序一定要先上后下再中间。为了方便...
可以使用标准窗口小部件工具箱(standard widget toolkit,swt)和 jface 库来开发用于 eclipse 环境的图形用户界面,而且还可以将它们用于开发单独的 gui 本机应用程序。 在本文中,我将介绍一些基本的 swt(基本 gui 对象的名称)类型,并展示如何综合使用它们来创建有用的应用程序。 关于 eclipse、swt 和 jface 正如 eclipse 的 web 站点上所提到的,eclipse 是一种通用工具平台。它是一个开放的、可用于任何东西的可扩展 ide,没什么特别之处,它为工具开发人员提供了灵活性以及对软件技术的控制。 eclipse 为开发人员提供了生产大量 gui 驱动的工具和应用程序的基础。而这项功能的基础就是 gui 库 swt 和 jface。 swt 是一个库,它创建了java 版的本地主机操作系统 gui 控件。它依赖于本...
上一节:跟我学java swing之游戏设计(2) 谁说编写程序不是一项艺术?那些命令与符号正像一幅工笔画,一笔一画产生出多少变幻莫测的结果。不过,光有骨架的工笔画恐怕也无法成为绝世佳作,那么,今天就让我们来为自己的作品添上最初的绚丽色彩吧。 前言 今天我们会为游戏添加动画效果,这将会涉及到图形处理,还有线程的基本概念,这可是一项非常有意思的工作哦。本期源程序下载(点击下载, 2kb, winzip压缩)。 上一期我们完成了游戏界面的设计,可是游戏的功能却还十分单薄,比如说几个人同时玩一个游戏,我们怎么比较谁玩得比较好呢,就算是自己一个人在玩,也得知道自己每次的成绩啊。竞技是游戏的主要动力之一,为了提高游戏的可玩性,我们得加入计时和计分的功能才行。 关于游戏的计时和计分功能,因为与我们swing的主题关系不大,这部分功能的实现我就不说了,如果大家感兴趣的话可以参考一下我的源程序,里面...
上一节:跟我学java swing之游戏设计(3) 你有没有经历过装修?尽管它是件劳神费力的事,可现代人还是不遗余力地在装修上花尽心思。毕竟,在这个视觉支配感观的时代里,谁会嫌自己家太漂亮呢?今天,就让我们秉着精益求精的完美主义精神,在上次已经完成的游戏界面里再做一番细致的装饰,将装修进行到底!jdialog增强型对话框窗口 还记得我们最初做的“关于”功能吗?虽然“关于”对话框能很好工作,但当你要写比较长或者是比较复杂的内容时,就会感觉到joptionpane有些捉襟见肘. 让我们用jdialog来制作漂亮的对话框吧!jdialog和jframe一样同属顶层容器控件,使用方法jpanel几乎一样。下面先来看看我们的第一个jdialog小程序吧:public class aboutdialog extends jdialog { jlabel about = new jlabel("关于...
下载本文源代码 引言 在图形用户界面方面(gui),java一直无法与c++、pb、delphi之类抗衡,使用早期java/awt包所开发的界面实在是让人不敢恭维。随着jfc/swing的日趋成熟,开发出与可以与c++媲美的gui不再是"不可能完成的任务"。除了具有丰富的界面组件之外,以下优秀的特性更让swing如虎添翼。swing是以100%纯java实现的,且辅以jdk 1.1 轻量级ui框架为基础,没有本地代码,独立于操作系统之外,基于mvc设计模式、采用可插入的外观感觉(pl&f),这都让我们忍不住去感受一下她的魅力。 完整的jfc十分巨大,swing只是其中的一部分,本文将着重于swing包中的jlist组件以及如何定制显示。 jlist基础知识 由jlist类代表的swing列表显示一个可选取对象列表,它支持三种选取模式:单选取、单间隔选取、多间隔选取。 基于...
我想您一定对xml有所了解,说不定您现在还跃跃欲试想写一段xml文本呢,可是现在能找到的跨平台的、免费的xml编辑器太少了。 所以在本文中,我想介绍一下或者说带您一步一步的开发一个简单的xml编辑器,当然我们要用到一些最常见的java 2 swing组件,不过这些都是免费的,有些是jdk中的,有些是可以从网上下载的。我想通过本文,你就可以创建一个属于你自己的xml编辑器。 先让我介绍一下本文辑写的思路。首先我想简要的讨论一下xml和为什么树型结构比较适合用来显示xml,然后我们来看一看jaxp api如何建立所需要的xml类的环境;然后我们将了解用来显示一个图形树的jtree swing组件;最后,我们将创建一个继承jtree组件的可以重复使用的类,可以用来分析一个xml文档,并把数据显示在一个jtree中。 说到xml(extensible markup languge),人们往往把它...
前言 本文通过java的runtime接口来实现调用其他语言实现的应用程序,进而来实现对计算机硬件信息的监控和控制.本文是多媒体信息系统的一个部分,就是调整计算机音量。 使用vc编写音量控制程序 本控制示例使用vc6.0编写,主要是调用系统的api来实现, mixergetlineinfo 获取master volume control. mixergetcontroldetails 获取 volume control 信息 mixersetcontroldetails 设置 volume control 信息 最终编译成console类型的dos执行的程序volumecontrol.exe。这个程序实现三个功能: 1.获取音量 volumecontrol.exe 0 2.增加音量 volumecontrol.exe 1 3.减少音量 volumecontrol.exe 2 ...
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 注册表 操作系统 服务器 应用服务器