page contents

java swing教程——Swing要不要学

本文讲述了Java swing教程——Swing要不要学!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2023-05-OrBlgO7V646d653a2e063.jpg

本文讲述了Java swing教程——Swing要不要学!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

Swing是什么?

1)AWT

在早期JDK1.0发布时,Sun公司就为GUI开发提供了一套基础类库,这套类库被称为AWT(Abstract Window Toolkit),即抽象窗口工具包。AWT的起初设想就是为了统一实现不同操作系统的图像界面,但问题是,不同操作系统图形库的功能可能不一样(比如按钮,在不同系统的就表现不一样),在一个平台上存在的功能在另外一个平台上则可能不存在,为此AWT不得不通过牺牲功能来实现平台无关性。不仅如此,AWT还是一个重量级组件,使用比较麻烦,且设计出的图形界面不够美观功能也非常有限。为此,Sun公司对AWT进行改进,提出了Swing组件,提供了更加丰富的组件和功能,来满足GUI设计的一切需求。

2)Swing

Swing是一个用于开发Java应用程序用户界面的开发工具包。使用 Swing 来开发图形界面比 AWT 更加优秀,因为 Swing 是一种轻量级组件,它采用纯 Java 实现,不再依赖于本地平台的图形界面,所以可以在所有平台上保持相同的运行效果,对跨平台支持比较出色。除此之外,Swing 提供了比 AWT 更多的图形界面组件,Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

为了和 AWT 组件区分,Swing 组件在javax.swing.*包下,类名均以 J 开头,例如: JFrame、JLabel、JButton等,而在AWT中叫Frame、Label等。

Swing能够干什么?

1)做系统,比如医院的软件。

2)做各种小游戏,提升逼格。

3)Intellij IDEA就是java swing开发的

4)毕业设计用的挺多。

Swing容器

Swing 中容器可以分为两类:顶层容器和中间容器,容器类都是继承自 Container 类。

顶层容器:

是进行图形编程的基础,一切图形化的东西都必须包括在顶层容器中。Swing中有三种顶层容器,分别是JFrame、JDialog 和 JApplet。

中间容器:

是容器组件的一种,也可以承载其他组件,但中间容器不能独立显示,必须依附于其他的顶层容器。常见的中间容器有 JPanel、JScrollPane、JTabbedPane 和 JToolBar。

attachments-2023-05-s2PIhR5w646d64eaebb1e.jpg

Swing布局

1)FlowLayout(流式布局)

流式布局管理器:按水平方向依次排列放置组件,排满一行,换下一行继续排列。

2)GridLayout(网格布局)

网格布局管理器:按指定行列数分隔出若干网格,每一个网格按顺序放置一个控件。

3)GridBagLayout(网格袋布局)

网格袋布局管理器:每个组件可占用一个或多个网格,可将组件垂直、水平或沿它们的基线对齐。

4)BoxLayout(箱式布局)

箱式布局管理器:它把若干组件按水平或垂直方向依次排列放置。

5)GroupLayout(分组布局)

分组布局管理器:将组件按层次分组(串行 或 并行),分别确定 组件组 在 水平 和 垂直 方向上的位置。

6)CardLayout(卡片布局)

卡片布局管理器:它将容器中的每个组件看作一张卡片,一次只能看到一张卡片,其他卡片被遮住。

7)BorderLayout(边界布局)

边界布局管理器:它把 Container 按方位分为 5 个区域(东、西、南、北、中),每个区域放置一个组件。

8)SpringLayout(弹性布局)

弹性布局管理器:通过定义组件四条边的坐标位置来实现布局。

9)null(空布局)

空布局:也叫绝对布局,通过设置组件的坐标和宽高来布置组件。

看起来有很多是不是很吓人,其实不然,我们主要掌握以下4种

1、边界布局(BorderLayout)

2、流式布局(FlowLayout)

3、网格布局(GridLayout)

4、null(空布局)

Swing常用组件

attachments-2023-05-0LC3SH8o646d64bee38b8.jpg

如何创建Swing窗体程序

1.实例化JFrame对象,也就是创建一个窗体。

2.设置窗体的相关属性。

3.获取一个容器。

4.创建组件。

5.向容器添加组件。

6.使窗体可视。

import java.awt.Container;

import javax.swing.JButton;

import javax.swing.JFrame;

public class SwingLearn {

    public static void main(String[] args) {

        //实例化 JFrame

        JFrame frame = new  JFrame();

        //设置相关属性

        frame.setTitle("Swing学习");//标题

        frame.setSize(300,300);//窗体大小

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击关闭按钮是关闭程序

        frame.setLocationRelativeTo(null);   //设置居中

        frame.setResizable(false); //不允许修改界面大小      

        //获取容器

        Container container = frame.getContentPane();

        frame.setLayout(null);

        //创建按钮

        JButton jButton = new JButton("我是按钮");

        jButton.setBounds(100, 100, 100, 40);

        //按钮添加到容器中

        container.add(jButton);    

        //设置显示

        frame.setVisible(true);

    }

}

attachments-2023-05-RtgEN6ls646d648a09d44.jpg

Swing为什么发展不好?

1)运行Swing程序,用户的电脑上必须有java运行环境,这个不太现实也很不方便。

2)本身用Swing开发出来的客户端本身比较大,客户端也需安装到用户的电脑上。

3)如果遇到不同的操作系统,需要为不同的操作系统开发一套客户端。

4)B/S系统的强势崛起,因为B/S架构多用WEB网页进行开发,不需要安装客户端,在浏览器上打开,一旦代码发生变更,客户端不需要进行升级。

swing要不要学?

1)java初学者和学校学生

初学Java的同学可能会觉得敲代码比较枯燥无味,自己辛苦写的代码却只能在控制台打印出来,感受不到交互、没有用户体验,Swing刚好解决了这一问题。

有人可能要说,现在web方向那么火,直接学web不就行了,其实web也有很多东西要学,对编程初学者来说接受那么多的语言太不友好,也很困难,比如:jsp、html、JavaScript、css甚至 node.js、vue.js,初学者如果这么做,等于入门即地狱。

5)Swing本身就是非常优秀的,通过使用可以学习它的设计思想。

2)有相对较好java基础

不建议学,除非有特殊要求(开发需要、自己爱好、装逼用)

还是多学习框架,比如Struts、spring、springboot、Hibernate,考虑前端的话框架 node.js、 vue.js等。

Swing必要的时候,可以自己再去研究一下,java基础好了学习很容易。

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Java编程语言,推荐大家关注一个微信公众号:Java圈子。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Java入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2023-03-2AoKIjPQ64014b4ad30a3.jpg

  • 发表于 2023-05-24 09:16
  • 阅读 ( 126 )
  • 分类:行业资讯

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1316 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1316 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章