关于Swing小常识


Swing 是 javax包里面的, awt是java包里的。Swing基于AWT实现,除保留了AWT的几个重要的重量级组件之外,其他都为轻量级组件。轻量级组件为基于AWT模拟的,所以夸平台时既能保持统一的界面风格,又能指定与当前平台一致的界面风格。也因此Swing效率较慢,相对于SWT而言, 因为SWT尽可能的很大程度上利用了本地平台的图形库,只有需要的在本地平台的图形库中不存在时才进行模拟。现在做界面也可以使用新出现的Java FX。

JFrame 是swing 的 继承 awt.Frame

Container 是awt里的,JFrame 需要使用Container  (getContentPane())

JComponent继承Container, JLabel,JAbstractButton等继承JComponent,JAbstractButton中有addActionListener(), JLabel中没有,而只有addMouseListener() (实际上是awt.Component 中的方法, awt.Component -- awt.Container -- swing.JComponent)      JButton, JMenuItem, JToggleButton为JAbstractButton的3个子类。

相关内容