Swing中有一个非常令人称道的原则,称为“正交使用”。意思是,一旦你理解了库中的某个通用概念,你就可以把这个概念应用到其他地方。
Swing 基础
Swing有它自己的专用线程来接收UI事件并更新屏幕,如果从其他线程着手对屏幕进行操作,那么就可能产生冲突和死锁。其他线程通过事件分发线程提交要执行的任务,可以通过将任务提交给SwingUtilities.invokeLater()来实现这种方式,这个方法会通过事件分发线程将任务放置到(最终将得到执行的)待执行事件队列中。程序中的所有代码都遵循这种通过SwingUtilities.invokeLater()来提交操作的方式。这包括启动程序自身,即main也不应该调用Swing方法,就像上面的程序一样,它应该向事件队列提交任务。
Java中设计和实现图形用户界面的工作主要有:
- 创建组件(Component):创建组成界面的各种元素,如按钮、文本框等。
- 指定布局(Layout):根据具体需要排列组件的位置关系。
- 响应事件(Event):定义图形用户界面的事件和各界面元素对不同事件的响应,从而实现图形用户界面与用户的交互功能。