Java图形界面编程

  1. java中AWT和Swing的区别与联系
  2. Swing和JavaFX如何选择
  3. Swing和JavaFX便捷开发工具

一、AWT和Swing的区别和联系

AWT和Swing的联系

  • AWT和Swing都是java中的包。
  • awt是抽象组件窗口工具包,是Java最早的用于编写图形应用程序的开发包。
  • Swing是为了补充awt的一些功能性的缺失问题而开发的包,以awt为基础的。Swing是对AWT的改良和扩展。

AWT和Swing的区别

  • AWT 是基于本地方法的C/C++程序,其运行速度比较快;Swing是基于AWT的Java程序,其运行速度比较慢。
  • AWT的控件在不同的平台可能表现不同,而Swing在所有平台表现一致。

总结

​ 由于实现的不同,awt是机遇本地方法的C/C++程序,运行速度比较快,消耗资源少;Swing是基于awt的Java程序,所以运行速度慢。对于嵌入式应用,往往采用AWT;通常在标准的Java应用中,使用Swing牺牲运行速度换取开发效率和功能。


二、Swing和JavaFX如何选择

  1. 概述

    ​ JavaFX比较新,Oracle2008年才推出的,功能比较强大,并且持续更新。swing是比较老的GUI,做出东西也比较丑。但是大多数老师讲课还是讲awt,和swing,大多数人还不能一下子舍弃。并且Oracle 已经明确说明不在更新swing。 而现在JavaFX直接内建在JRE和JDK里(Java8),不再区分版本,也可以看出Oracle比较重视。

  2. JavaFX与Swing相比的优点

    1. FXML文件类似于html ,里面放的是 控件和布局
    2. css 文件 就几乎完全一样了, 里面存放的样式 ,用于修饰 控件的外观. 比如换肤功能,只需要切换一下css文件即可
    3. Controller.java文件, 类似于JavaScript ,主要用于行为的控制, 比如点击按钮后的响应等
  3. JavaFX与Swing相比的缺点

    • Swing资料非常丰富, 而JavaFX资料相对较少。
    • 有待补充

三、Swing和JavaFX便捷开发工具

  1. Swing开发推荐工具

    • 推荐使用Eclipse开发工具然后安装WindowBuildier插件
    • 文章:https://blog.csdn.net/qq_41998273/article/details/87186197
  2. JavaFX开发推荐工具

    • 推荐使用IDEA进行开发,IDEA有自带的 SceneBuilder 可以很便捷的进行开发
    • 个人推荐单独下载一个 SceneBuilder 软件,比IDEA自带的用起来更加方便快捷;文章:https://blog.csdn.net/qq_41998273/article/details/102397178
    • JavaFX开发资料:
      UI美化
      JFoenix: http://github.com/jfoenixadmin/JFoenix
      BootstrapFX: http://github.com/aalmiray/bootstrapfx
      视频文档
      中文文档:http://www.javafxchina.net/blog/docs/
      宝藏网站:https://www.javafxdeveloper.com/home
    • 我用JavaFX开发的软件:https://blog.csdn.net/qq_41998273/article/details/102815499

Java桌面编程(GUI)详细相关推荐

  1. fusion 360安装程序的多个实例正在同时运行。_阿里架构师实例讲解——Java多线程编程;详细的不能再详细了...

    欢迎关注专栏<Java架构筑基>--专注于Java技术的研究与分享! Java架构筑基​zhuanlan.zhihu.com Java架构筑基--专注于Java技术的研究与分享! 后续文章 ...

  2. 【狂神Java笔记】Java网络编程实战详细笔记整理(附代码)

    1.1 概述 计算机网络: 计算机网络是指将地理位置不同 的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递 ...

  3. Java基础编程-GUI编程

    本文全文参考 https://www.bilibili.com/video/BV1DJ411B75F 1.简介 GUI的核心技术:Swing.AWT 缺点:界面不美观.需要JRE环境 为什么学习? 1 ...

  4. JAVA 网络编程 Socket 详细说明,实现客户端和服务端相互推送消息

    客户端代码: package com.lcx.socket;import java.io.BufferedReader; import java.io.BufferedWriter; import j ...

  5. Java Socket编程如何建立两者关系

    转自:http://developer.51cto.com/art/201003/190582.htm Java Socket编程需要大家详细的学习,有关的技术一直在不断的更新.那么要如何才能掌握好有 ...

  6. Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略

    Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略 目录

  7. java事件绑定,Java编程GUI中的事件绑定代码示例

    程序绑定的概念: 绑定指的是一个方法的调用与方法所在的类(方法主体)关联起来.对java来说,绑定分为静态绑定和动态绑定:或者叫做前期绑定和后期绑定 静态绑定: 在程序执行前方法已经被绑定,此时由编译 ...

  8. Java 网络编程(超级详细)

    前言:本文是初学Java网络编程时所记录的学习笔记,方便以后查阅学习,同时也作为资料总结分享给大家,如果有问题欢迎指出!! 1. 网络编程 1.1 网络编程基本概念 1.网络 将不同区域的电脑连接到一 ...

  9. Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型、符号、运算符、数组Array总结之详细攻略

    Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组Array总结之详细攻略 目录 Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组总 ...

最新文章

  1. 单片机异常复位后如何保存变量数据
  2. 日期Date和字符串之间转换
  3. 一周一论文(翻译 总结)—— [SOSP 18] LITE Kernel RDMA Support for Datacenter Applications : 一个LITE 内核支持的RDMA通信库
  4. Web API 之SelfHost与OwinSelfHots加载外部程序
  5. Linux 安装 FFmpeg
  6. iOS8 【xcode6中添加pch全局引用文件】
  7. centOS 阿里云yum地址配置
  8. 基于easyui开发Web版Activiti流程定制器详解(二)——文件列表
  9. LeetCode 371. 两整数之和(位运算加法)
  10. 多线程下HttpContext.Current 的问题
  11. HTMLTestRunner测试报告
  12. 图像处理-STB图片读写
  13. 流行趋势-立体感和艺术剪纸风海报美妆设计
  14. 爱的十个秘密--3.尊重的力量
  15. 第一章:1.3:了解编译系统如何工作的好处
  16. python解释器调用_Python3.x那些事儿:[2]如何调用解释器-百度经验
  17. Sublime + Chrome 本地调试 CSS 选择器
  18. C语言源代码系列-管理系统之物业费管理
  19. mysql 提高查询速度_6条策略提高mysql查询速度
  20. Spring中的事务控制(Transacion Management with Spring)

热门文章

  1. 常用的参数方程消参方法
  2. 两化融合贯标之-两化融合贯标能给企业带来什么
  3. 入职外包到银行的公司,我学到了这些...
  4. 团建· 温泉·赏枫— 苏州一年只美20天的神仙赏秋地 颜值巅峰出道
  5. 用爬虫抓取动态加载数据丨Python爬虫实战系列(6)
  6. 客户成功经理(CSM)
  7. 商业智能(BI,Business Intelligence)。
  8. 字符串对比(c语言)
  9. JAVA中获取字段信息的方法
  10. 读《猫城记》 | 人间失格