Java Swing与AWT的区别和应用示例

原创 约定不等于承诺〃 2024-12-05 14:21 101阅读 0赞

Swing和AWT都是Java的GUI(图形用户界面)工具,但它们在设计理念、使用方式和性能等方面存在一些区别。

  1. 理念:AWT是Java 1.0及更早期版本的核心库,它的设计目标主要是提供基本的图形功能。而Swing则是在Java 1.1以后引入的新API,它更加面向对象,提供了更丰富的界面组件和服务。

  2. 使用方式:AWT的组件和方法通常需要显式地创建、设置和操作。例如,你需要创建一个javax.swing.JLabel实例,然后通过setText()方法设置其文本内容。

而Swing则提供了一种更加面向对象的编程方式。你可以直接继承javax.swing.JComponent或者使用如JPanelJFrame等特定组件类型。组件的属性可以通过getter和setter方法获取和设置。

  1. 性能:由于AWT在设计时考虑了早期的硬件条件,它通常比Swing占用更少的内存资源,并能更快地渲染图形。

示例:

AWT的例子:

  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class AWTExample {
  4. public static void main(String[] args) {
  5. // 创建一个AWT窗口
  6. JFrame frame = new JFrame("AWT Example");
  7. frame.setSize(400, 300); // 设置窗口大小
  8. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作
  9. // 在窗口中添加一个按钮组件
  10. JButton button = new JButton("Click me!");
  11. frame.add(button);
  12. // 设置窗口可见
  13. frame.setVisible(true);
  14. }
  15. }

Swing的例子:

  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class SwingExample {
  4. public static void main(String[] args) {
  5. // 创建一个Swing框架
  6. JFrame frame = new JFrame("Swing Example");
  7. frame.setSize(400, 300)); // 设置窗口大小
  8. // 创建一个面板并添加到框架中
  9. JPanel panel = new JPanel(new GridLayout(2, 1))));
  10. panel.add(new JLabel("Hello Swing!")); // 添加标签组件
  11. // 将面板设置为框架的中心内容
  12. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置关闭操作
  13. frame.setContentPane(panel); // 设置内部视图
  14. // 设置窗口可见
  15. frame.setVisible(true);
  16. }
  17. }

以上示例展示了如何使用AWT和Swing创建一个简单的GUI。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,101人围观)

还没有评论,来说两句吧...

相关阅读

    相关 AWTSwing

    GUI(图形用户界面)为程序员提供图形界面,其最初设计的目的是构建一个通用的GUI,使其能够在所有的平台上运行,但java基础类AWT(Abstract Window Tool