Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java GUI 设计  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 【转贴】 Java 图形用户界面设计,很不错的
prettyxx





发贴: 75
积分: 42
于 2004-01-18 10:34 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
一. AWT 和 SWING
  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

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   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