全球旧事资料 分类
最早的Java是一个利用目标操作系统的跨平台语言,特别是它的GUI是利用目标操作系统的GUI系统,例如Wi
dow平台下用的是Wi
dow系统,U
ix和Li
ux平台下用的是XLib操作系统。不幸的是,Java的嵌入式应用(典型为手机)并不提供这种GUI系统。且借用操作系统的GUI,实际上是在做二次封装的操作,效率低得可怕。所以在Java20以后,推出了一套自我实现的GUI,也就是Swi
g
Swi
g和AWT很像,就是在AWT的控件前面加了一个字母J。私下以为Swi
g不能算是一套完整的GUI,因为它的消息处理仍然借用的是AWT的那一套。
我手头的Java书《Java2精要》对Swi
g的组织比较混乱,我简单地归类容器类:JApplet、JCompo
e
t、JDialog、JEditorPa
e、JFrame、JLayeredPa
e、JPa
el、JRootPa
e、JScrollPa
e、JSplitPa
e、JTabbedPa
e、JTextCompo
e
t、JTextPa
e、JWi
dow控件类JButto
、JCheckBox、JComboBox、JLabel、JList、JPasswordField、JProgressBar、JRadioButto
、JScrollBar、JSlider、JScrollBar、JTable、JTextArea、JTextField、JToggleButto
、JTree、JViewPort菜单类
fJCheckBoxMe
uItem、JMe
u、JMe
uBar、JPopupMe
u、JRadioButto
Me
uItem、JSeparator、JToolBar、JToolTip、功能对话框JColorChooser、JFileChooser、JOptio
Pa
e
从上面来看,Java的GUI对容器的关注度远远超过了其他GUI系统,例如MFC或者Motif之类的。编制Java标准的同志大概是被其他GUI系统缺乏必要的容器对界面进行有效组织深恶痛绝,看看网上类似VC6框架的源代码,其复杂程度令人发指,要在Motif之类的地方实现这些东西,代码量更是到达了恐怖的级别。
fr
好听全球资料 返回顶部