集合框架

来源:互联网 发布:网络借贷监管法学 编辑:程序博客网 时间:2024/06/08 11:34

awt包    swing包Label FrameButton

awt:1.容器与组件类。2.辅助类:字体,颜色,图片等等

不同操作系统下面样式差异性很大。排版容易挤乱。

swing:将前面的容器和组件重新实现一次。在其中叫做JFrame JButton  Jlable这样现在容器组件一般用swing,辅助类用awt。

Swt=swing+awt所以最好不要混用,

容器:1.首层容器(装容器和组件)Jwindow(都是空的),JFrame(自带标题框),JDialog(弹出框),JApplelet(与flash想象,嵌容器动态效果)。2.中间容器:划分区域,不能单独存在:JPanel(白色面板),JLable(标签,可以放图片)

组件:文本框,菜单,表格,按钮,单选框,下拉列表,日历控件,文件控件,文本域,等等。一般做窗体使用的是自定义窗体。

面板:内容面板组件都是操作

文本框:JTestField

密码框:JPasswordField

按钮:JButton

单选框:JRadioButton与ButtonGroup()联系在一起添加

JCheckBox选择菜单

JComboBox下拉菜单

图像标签:JLabelte

文件按钮JFileChooser

卡片布局:setLayout(newCardLayout())

setBorder(BorderFactory.creatTitleBorder(“”));

事件用户在界面上所做的动作称为事件。

事件:1.由用户触发。2容器和组件接受操作。(事件源对象)

Java的事件模型还有第3种:监听对象①必须与事件源进行绑定。②一个监听对象可以有多个事件源。③每个监听器拥有自身的职责范围。

这种模型叫事件委托模型。

监听器:所有方法均为抽象方法。所有监听对象都被设计成了接口。EventListener,提供了各种各样的子接口。如:ActionListener默认动作接口

如mouseListener,clicked点击 Enter进入,KeyListener中typed键入

 

ActionListener

 

方法:anctionPerformed:事件绑定首先产生监听对象,this.对象.actionLisner()绑定监听对象。

如果要监听多个事件:利用形参的getSorce方法得到对象,getWhen(long类型存的毫秒数,时间原点:现在的时间原点是1970年1月1日)如果文本分不开的化,可以设置按钮的动作命令,setactioncmmand 对外观并没有影响。希望给不同按钮写不同的监听器。

 

单一原则:与开闭原则一样重要,每一个单一的模块都有自身单独的职责。

监听器的实现方式一:单独书写一个监听器类(如ColorBtnListener)特点1.既可以让一个监听器同时监听多个事件源,也可以让一个监听器只监听一个事件源;当然我们也倾向于后者(满足单一职责),但监听器Java文件的数量会增多。2.在监听器中只能得到事件源对象(通过event.getsource),如果要操作非事件源对象必须传参(通过书写带参构造或set方法,最好传最大容器对象)

监听器实现方式二:让窗体继承JFrame的同时实现ActionListener,实现方法,即让事件源对象所在的容器实现监听器接口,直接使用this.组件.add()方法,利用判断,特点:1.只能让一个监听器监听多个事件源(一个容器类只能实现一次监听器),不符合单一原则。2.操作本容器的其他组件无需传参(这是好事情)。

监听器实现方式三:匿名内部类。

Innerclass:内部类,也会有编译文件,书写的位置上有两种,分别是成员内部类(特例:静态内部类)和局部内部类(特例:匿名内部类)

成员内部类:多产生的class文件名为外部类名+$+内部类名.class.1.五脏俱全。2.类可以使用访问修饰符修饰,直接决定该类如何使用。3.可以在其他类产生对象

局部内部类:1.五脏俱全,2.没有访问修饰符的。3.只能在被定义的方法中进行使用,4.只能访问外部方法的局部常量,不能访问到变量。编译出来的有一个class文件,能找的到外部类,但找不到是哪个方法里面的。

匿名内部类:临时使用,同局部内部类。产生的class文件为外部类加$加序号

 

使用匿名内部类实现监听器,1.可以为每一个事件源单独书写监听器,也没有增加java文件数量。2操作本容器的其他组件无需传参。推荐使用

CardPannel cardP = TreePanel.this.frame.getCP()

翻页具体代码:CardLayoutcardly = (CardLayout)cardP.getLayout();

cardLy.show(cardP,”student”);

轮波效果

卡片布局管理器在进行操作时。①取得被要求的卡片管理布局器②show显示指定卡片,first,previews,next,last作为轮播处理,再添加卡片时,要为卡片起别的名字

0 0