Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java GUI 设计
打印话题 寄给朋友 订阅主题 |
作者 | 【转贴】 Java 图形用户界面设计,很不错的 |
prettyxx
发贴: 75 积分: 42 |
于 2004-01-18 10:34
AWT 和 SWING 是 Java 设计 GUI 用户界面的基础。与 AWT 的重量级组件不同,Swing 中大部分是轻量级组件。正是这个原因,Swing 几乎无所不能,不但有各式各样先进的组件,而且更为美观易用。所以一开始使用 AWT 的程序员很快就转向使用 Swing了。 那为什么 AWT 组件没有消亡呢?因为 Swing 是架构在 AWT 之上的,没有 AWT 就没有Swing。所以程序员可以根据自己的习惯选择使用 AWT 或者是 Swing。但是,最好不要二者混用——除开显示风格不同不说,还很可能造成层次 (Z-Order) 错乱,比如下例: /** * AwtSwing.java * @author Fancy */ import java.awt.*; import javax.swing.*; public class AwtSwing { JFrame frame = new JFrame("Test AWT and SWING"); JDesktopPane jdp = new JDesktopPane(); JInternalFrame jif1 = new JInternalFrame("controls)"; JInternalFrame jif2 = new JInternalFrame("cover"); public AwtSwing() { frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(jdp); jif1.setContentPane(new JPanel()); jif2.setContentPane(new JPanel()); jif1.getContentPane().setLayout(new BorderLayout()); jif1.getContentPane().add(new Button("AWT Button"), BorderLayout.WES T); jif1.getContentPane().add(new JButton("Swing Button"), BorderLayout. EAST); jif1.setSize(200, 100); jif2.setSize(200, 100); jdp.add(jif1); jdp.add(jif2); frame.setSize(240, 140); } public void show() { frame.show(); jif1.setVisible(true); jif2.setVisible(true); } public static void main(String[] args) { AwtSwing as = new AwtSwing(); as.show(); } } 运行这个程序,并用鼠标拖动那个名为“cover”的子窗口,我们会发现一个非常有趣的现象,如图: 显然 cover 子窗口是在 controls 子窗口之上的,但是它只罩盖住了 Swing Button,没有罩盖住 AWT Button。再看一会儿,你是不是有这样一种感觉:Swing Button是“画”上去的,而 AWT Button 则是“贴”上去的。这就是二者混用造成层次错乱的一个例子。 Swing 组件有美观、易用、组件量大等特点,也有缺点——使用 Swing 组件的程序通常会比使用 AWT 组件的程序运行更慢。但是大家都还是更喜欢用 Swing 组件,原因何在?因为随着计算机硬件的升级,一点点速度已经不是问题。相反的,用户更需要美观的用户界面,开发人员则更需要易用的开发组件。 ——好,我这就来教你使用 Swing 组件开发图形用户界面的 Java 应用程序。 我的Blog:阿泠的自省札记 ========心有多大,舞台就有多大======== |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
10430 | 【转贴】 Java 图形用户界面设计,很不错的 | prettyxx | 1688 | 2004-01-18 10:34 |
8234 | Re:【转贴】 Java 图形用户界面设计,很不错的 | prettyxx | 3826 | 2004-01-18 10:35 |
8431 | Re:【转贴】 Java 图形用户界面设计,很不错的 | prettyxx | 5901 | 2004-01-18 10:37 |
8200 | Re:【转贴】 Java 图形用户界面设计,很不错的 | prettyxx | 2856 | 2004-01-18 10:38 |
8294 | Re:【转贴】 Java 图形用户界面设计,很不错的 | prettyxx | 4055 | 2004-01-18 10:39 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |