点击这里给我发消息 点击这里给我发消息

小应用程序中处理语义事件

添加时间:2013-12-7
    相关阅读: 程序 框架
 

小应用程序中的事件处理与应用程序中的事件处理完全相同,但是我们还是以小应用程序中的按钮事件为例看看它是如何处理的。我们可以建立一个小应用程序,其中使用几个拥有监听器的按钮。为了使这个例子更具有吸引力,我们将投掷盈利的可能性。几乎每个人对此都很感兴趣。假设我们想有一个生成发行彩票的随机数的小应用程序,需要产生6个不同的在1~49之间的随机数,如果你不想要其中的某个数的话,最好能够更改其中的某一个数,因此我们要把此功能加进去。在你的所在地,彩票可能与这有所不同,我们将实现一个小应用程序,你可以很容易地对它进行修改以适应你的需要。

我们把选择的6个数显示左按钮上,这样我们就可以对按钮的操作行为事件进行处理来改变其中的一个选择,点击一个按钮就会提供另一个数。我们再增加一对控制按钮,一个将为全部彩票数选择一个新集,另一个只是有趣地改变按钮颜色。这里是在AppletViewer下运行小应用程序所应该看到的样子:

试试看--建立幸运数组按钮

在这个类框架中,我们为了init()方法定义了两个任务。首先是建立幸运数按钮,它们被放在luckyNumbers数组。

这里是完成这项任务的代码:

//set up the selection buttons
container content getContentPane();
content.setLayout(new Gridlayout(0,1));          //set the layout for the applet
//set up the panel to hold the lucky nuber buttons
  JPanel buttonPane =new JPanel();              //Add the pane containing number
  //Let's have a  fancy panel border
  buttonPane.setBorder (BorderFactory.createTitleBorder(
                        BorderFactory.createEtchedBorder(Color.cyan,
                                                         Color.blue)
 int[] cjoices=getNumbers();                 //Get initial set of numbers
 for int i=0; i<numberCount;i++)
 {
   luckyNumbers[i]=new Selection(choices[i])
   buttonpane.add(luckyNumber[i]);
 }
   content.add(buttonPane);
 //Set the control buttons....
}
 
如何工作

第一步为小应用程序定义一个布局管理器。为了使布局更加容易,我们将使用一个窗格保存选择按钮,另一个窗格保存控制按钮。我们指定小应用程序的内容窗格的布局管理器为只有一列的网格布局,这样就能让这两个窗格一个在另一个的上方。上面的窗格将包含幸运数,下面的窗格将包含控制按钮。

保存幸运数按钮的buttonPane窗格是JPanel类型的,因此它有一个Flowlayout对象作为它的默认布局管理器。FlowLayout布局管理器允许组件设置"固有"或"指定"的尺寸,我们将为按钮在Selection类的构造函数中指定尺寸。然后调用setHorder( )方法为这个窗格修饰一个边框。自变量为BorderFactory类的静态方法createTitleBorder的返回值。传递给createTitledBorder()的第一个自变量是边框,第二个自变量是标题。我们使用的是一个雕刻边框,它是由BorderFactary类中的另一个静态函数返回的。传递给这个方法的两个自变量用来指定边框的高光处及阴影处的颜色。使用BorderFactory方法而不直接由边框类构造函数创建边框的最大好处是边框对象可以被共享,因此你可以在代码中的各个地方使用同一种特殊的边框,而只需要建立一个对象。

显示选择数字的按钮是Selection类型的,在此我们将得到这个内置类中的洋细内容。我们调用静态的getNumbers()方法为按钮获取第一组随机数值。然后,在for循环中。首先建立按钮:把它存储在luckNumbers数组中:最后把它添加到窗格中。由于这些按钮都要监听自己的事件,所以,我们不必发愁要为它们分别设置监听器。这里的最后一步是把buttonPane窗格添加到小应用程序的content窗格中。

我们现在应该把控制按钮的代码添加到init()方法中。

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册