22.4.2 按钮的模型

前面提到了模型的概念,本节将讲述按钮模型的概念。大多数组件的模型类,实现了一个以Model结尾的接口名字,例如按钮就实现了一个ButtonModel的接口。实现了此接口的类可以定义按钮的多种状态。在Swing库中包含了一个DefaultButtonModel类,这个类就实现了ButtonModel接口,也就是按钮的默认状态。分析ButtonModel接口中的方法,看看按钮模型所维护的各种数据。

❑getActionCommand():同按钮相关联的动作命令字符串。

❑getMnemonic():按钮的快捷键。

❑isArmed():如果按钮被按下并且鼠标仍在按钮上则返回true。

❑isEnabled():如果按钮可用则返回true。

❑isPressed():如果按钮被按下并且鼠标按钮尚未释放则返回true。

❑isRollover():如果鼠标在按钮上则返回true。

❑isSelected():如果按钮已经被选择(用于复选框即单选框)则返回true。

随着以后的学习,读者可以发现按钮模型可用于下压按钮、单选按钮、复选框、菜单项等。虽然这些组件在外观上不同,但是作为模型却是一样,所以说,JButton类实际上是一个封装类,它将视图、控制器、模型结合在一起,从而维护一个按钮对象。