java swing
<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
Swing
是目前
Java
中不可缺少的窗口工具组,是用户建立图形化用户界面(
GUI
)程序的强大工具。
Java Swing
组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,
Swing
组件会产生一个
ActionEvent
。
Swing
组件会产生许多事件,如
ActionEvents,ChangeEvents,ItemEvents
等,来响应用户的鼠标点击行为,列表框中值的改变,计时器的开始计时等行为。在
Java Swing
编程中,通过
注册监听器
,我们可以监听事件源产生的事件,从而在事件处理程序中处理我们所需要处理的用户行为。
Java Swing
中处理各组件事件的一般步骤是:
1
.
新建一个组件(如
JButton
)。
2
.
将该组件添加到相应的面板(如
JPanel
)。
3
.
注册监听器以监听事件源产生的事件(如通过
ActionListener
来响应用户点击按钮)。
4
.
定义处理事件的方法(如在
ActionListener
中的
actionPerformed
中定义相应方法)。
以上步骤我们可以用多种方法实现。但人们通常用二种方法。第一种方法是只利用一个监听器以及多个
if
语句来决定是哪个组件产生的事件;第二种方法是使用多个内部类来响应不同组件产生的各种事件,其具体实现又细分为两种方式:一种是匿名内部类,一种是一般内部类。
为了说明如何使用上述三种方法实现事件的处理方法,我们建立一个简单的应用程序。该程序界面有两个按钮,当用户点击相应的按钮,就会弹出一个对话框显示相应的内容。通过这个简单的程序,你可以了解
Swing
中事情处理的机制,从而实现更多、更复杂的用户界面程序。
首先,我们利用单个监听器来实现该程序。我们定义一个名为
Simple1
的类来包括所有代码。所有的用户行为(如点击按钮)由一个监听器
SimpleListenner
中的
actionPerformed
方法来处理。以下是实现代码:
package
org.leno.swing.demo2;
/*
*
Simple1.java -
处理事件的第一种方法
*
在这个例子中,利用一个
ActionListener
来监听事件源产生的事件
*
用一些
if
语句来决定是哪个事件源
*/
import
java.
相关文档:
Java™语言包含两种内在的同步机制:同步块(或方法)和volatile变量。这两种机制的提出都是为了实现代码线程的安全性。其中volatile变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。在这期的Java理论与实践中,Brian Goetz将介绍几种正确使用volatile变量的模式,并针对其适用性限制提出一 ......
CEFinder是CKEditor的文件浏览器。目前还没有给出java版本。对于那些幻想仅通过改几个url就可以使用FCKEditor的java版的朋友,我只能说,清醒一下吧……=。=
原因如下:
FCKEditor的java版通过command参数确定请求指令:
get提交方式可能出现的命令:
&n ......
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体" ......
public class DeadLock {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
final Object resource1 = "resource1";
final Object resource2 = "resource2";
Thread t1 = new Thread(){
public void run(){
syn ......