首页
学习
活动
专区
圈层
工具
发布

HTML5崛起之时,Java桌面时代就已经终结了

突然之间,WORA 理念就出现空白了——Swing 应用程序适用于一切平台,除了最重要的那个:网络浏览器。 Java 开发者纷纷“外逃” 那 Java 桌面开发者们都跑哪去了?...这套运行时库包含诸多核心 Java API(例如 java.lang、java.util 等)的实现,确保业务逻辑能够在 GWT 应用程序与服务器应用程序间顺畅共享。...虽然我们还是没法直接使用 Swing 代码、大部分第三方库也不在支持之列,但我们至少可以用到自己最熟悉的 Java 开发环境和核心 API。...然而,代表 Java 世界“最后的坚持”的这帮桌面开发者眼界还是没能打开,仍在围着 UI 库的改进和部署打转。...别小瞧 Mac 应用商店,它的出现堪称对 Java for Mac 桌面开发生态的“斩首行动”。

98530

Java Swing 的Document类详解

内容 在最简单的级别,文本可以建模为线性字符序列。 为了支持国际化,Swing文本模型使用unicode字符。 文本组件中显示的字符序列通常称为组件的内容 。...以下方法与文档内容的变异有关: insertString(int, java.lang.String, javax.swing.text.AttributeSet) remove(int, int) createPosition...如果通过其api对Document进行突变, DocumentEvent发送到所有已注册的DocumentListeners 。...但是,在这种情况下,应该没有生成UndoableEditEvent因为该编辑实际上是更改的来源,而不是通过其api对Document进行的突变。 前面的文字描述了这个图形。...与属性相关的方法是: getProperty(java.lang.Object) putProperty(java.lang.Object, java.lang.Object) 有关Document

2.3K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    《Java 2 图形设计卷Ⅱ- SWING》第2章 Swing的基本知识

    参考链接: 对Java中派生类方法更严格的访问 第2章 Swing的基本知识    本章介绍开发Swing小应用程序和应用程序时要用到的Swing的基本知识。  ...JApplet和JFrame除具有它们的超类所提供的功能外,还提供对Swing的支持。...线程的使用增加了调试、测试、维护和扩展的困难度。例如,测试和维护等通常已经很艰苦的工作对于大多数多线程应用程序就更困难了,有时甚至是不可能的。  有些Swing组件方法确实支持多线程访问。...有时,在独立的线程上执行耗时的操作可能更好,这将允许立即更新用户界面和释放事件派发线程去派发其他的事件,幸运的是,Swing提供了两种机制,它们都支持这种想法。  ...然而,正是因为Java内置了对多线程的支持,但这并不意味着在Java中实现安全的多线程小应用程序或应用程序是一件简单的事情,更不用提工具包了。

    3.1K20

    曾经是“杀手级”桌面语言,Java桌面开发为何走向衰落?

    值得一提的是,作者如今在做一款开发者友好型 Java 桌面部署工具(jDeploy),其实他还是希望 Java 可以重拾风采,再度变得对桌面开发具有吸引力。...但它只适用于 API 子集而且不支持 Swing——所以用户就只有两个选项,要么使用本机 GUI 工具包、要么干脆不要 GUI。...所以我心里有了答案:至少在当时,Java 桌面开发已经是死路一条,唯一的用处就是写点小程序——问题是跟 Flash 这类更轻、更快的技术相比,Java Applet 的优势其实也已经不明显了。...相比之下,Swing 则拥有轻量化优势,能够绘制自己的一组小部件、降低了维护难度,帮助用户轻松绘制出自己的跨平台界面。 Swing 提供可插入 UI,支持样式设置以模拟本机平台的外观。...期间先后出现过不少不支持 Swing 的 JVM(Avian 就是其中一种精简型 AOT(预先)编译器,它不支持 Swing、但提供使用 SWT 的 GUI 演示),靠的就是 SWT 这个能在 Java

    1.9K20

    基于java swing的设备管理系统

    二.开发环境 开发环境:jdk          运行环境:jvm 运行平台:无限制        编辑器:eclipse 语言:java            工具:swing 数据库:mysql 三...e_buy表 (记录购买的设备信息) ? e_run表 (记录正在运行的设备信息) ? e_scrap表 (记录报废的设备信息) ? e_repair表 (记录修理的设备信息) ?...,会弹出相应对话框,记录对应状态所需要登记的信息Info (2)buy负责登记购买的设备信息 (3)running负责显示正在运行的设备信息 (4)repair负责显示正在修理的设备信息 (5)scrap...负责显示已报废的设备信息 选项卡中的equipment和buy界面由ManageFrame负责创建,对应方法为createEquipmentPanel()和createBuyPanel(),通过返回自定义的...ComponentUtil 包含自定义一些常用swing组件 ConnectionUtil 数据库连接类 DatabaseXmlParser 解析db.xml,获取数据库配置信息 DateChooser

    2.8K81

    为什么除了 Flutter 之外,我们还需要另一个跨平台开发框架?

    虽然尚处于早期开发阶段,但 JetBrains 表示,其已经“为开发人员带来能够基本安全使用的稳定 API”。...Igotti 的回答是,“旧有 Java 框架基本上就是修改版的 Swing。...JetBrains IDE 中的 Compose for Desktop 项目 Compose 与 Swing 有一个比较大的共同点:与其他使用本机控件的跨平台框架,比如例如 Java 的 SWT(Standard...Compose 的 Web 版本不如桌面版先进,说明文档中也警告称“API 尚未最终确定,预计会发生重大变化。”...“桌面开发现在有点‘二等公民’的意思……这可是个需要高度关注的小众市场。” 那么,JetBrains 会在自己的其他工具中使用 Compose 吗?

    2.1K40

    Java Swing + Mysql的球员信息管理系统

    一、数据库设计首先的话,基于这个FIFA球员管理系统的需求来看,只需要一个球员表baller就足够了,然后里面包含的属性应该有数据id,也就是这一条记录的id,然后就是球员的球号(bid),还有球员名字...添加菜单对应的就是Add类,然后还有修改菜单的Alter类,删除菜单对应的DelMin类,按姓名查询对应的NameQue类,和按球号查询对应的IdQue类,和模糊查询对应的LikeQue类。...这些都是需要我们去重写的.然后还有就是当添加球员的时候,需要有一个保存球员信息到数据库的方法,这里对应的就是saveTo方法。...或者更改球员信息的时候,需要有一个保存球员信息到数据库的方法,这里对应的就是updateTo方法。...完整的类图如下:这里还有最关键的一点就是说,球队名称的话,这里是写死了一个数组在这里的,teams数组代表的就是球队名称。

    43900

    为什么除了Flutter之外,我们还需要另一个跨平台开发框架?

    虽然尚处于早期开发阶段,但 JetBrains 表示,其已经“为开发人员带来能够基本安全使用的稳定 API”。...Igotti 的回答是,“旧有 Java 框架基本上就是修改版的 Swing。...JetBrains IDE 中的 Compose for Desktop 项目 Compose 与 Swing 有一个比较大的共同点:与其他使用本机控件的跨平台框架,比如例如 Java 的 SWT(Standard...Compose 的 Web 版本不如桌面版先进,说明文档中也警告称“API 尚未最终确定,预计会发生重大变化。”...“桌面开发现在有点‘二等公民’的意思……这可是个需要高度关注的小众市场。” 那么,JetBrains 会在自己的其他工具中使用 Compose 吗?

    1.3K20

    JAVA学习中Swing概述中的JFrame学习

    package com.swing; import java.awt.Color; import java.awt.Container; import java.awt.event.WindowAdapter...; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingConstants; import javax.swing.WindowConstants...; /**  *1:Swing组件通常被称作"轻量级的组件";  *  *2:窗体作为Swing应用程序中组件的承载体,处于非常重要的位置,Swing中常用的窗体包括  *JFrame,JDialog... *  *3:JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些  *Swing组件的容器  *  *4:读者大致应该有这样一个概念  *Swing组件的窗体通常和组件的容器相关...,实例化JLabel对象,然后将标签实例添加到容器中,然后可以设置容器的布局, package com.swing; import java.awt.Color; import java.awt.Container

    1.9K90

    Java对IPv6的支持详解:支持情况、相关API、演示代码等

    理论上,Java对IPv6的支持对于程序员来说都是透明的,几乎不需要代码层面的处理。但它到底是怎么支持的?支持到什么程度?对JDK版本有什么要求?对操作系统有什么要求?...本文将用通俗易懂的文字,来讲解Java对IPv6的支持现状,包括关的技术原理、可以使用的API、以及一些可以运行的演示代码片段等,希望能让你更直观的了解Java对于IPv6的支持情况。...4、Java 对 IPv6 的支持 随着 IPv6 越来越受到业界的重视,Java 从 1.4 版开始支持 Linux 和 Solaris 平台上的 IPv6。...除了通过我们熟知的正则表达式,笔者在开发过程中发现使用一个简单的 Java API 也可以达到相同的效果。...所以在多数情况下,程序员并不需要精确控制所使用的类型及其行为,一切交给 Java 虚拟机即可。 具体的新增类型及其新增方法,请具体参阅Java的API文档。

    2.7K00

    Java对IPv6的支持详解:支持情况、相关API、演示代码等

    理论上,Java对IPv6的支持对于程序员来说都是透明的,几乎不需要代码层面的处理。但它到底是怎么支持的?支持到什么程度?对JDK版本有什么要求?对操作系统有什么要求?...本文将用通俗易懂的文字,来讲解Java对IPv6的支持现状,包括关的技术原理、可以使用的API、以及一些可以运行的演示代码片段等,希望能让你更直观的了解Java对于IPv6的支持情况。...4、Java 对 IPv6 的支持 随着 IPv6 越来越受到业界的重视,Java 从 1.4 版开始支持 Linux 和 Solaris 平台上的 IPv6。...除了通过我们熟知的正则表达式,笔者在开发过程中发现使用一个简单的 Java API 也可以达到相同的效果。...所以在多数情况下,程序员并不需要精确控制所使用的类型及其行为,一切交给 Java 虚拟机即可。 具体的新增类型及其新增方法,请具体参阅Java的API文档。

    4.2K20

    Java GUI 编程实战:用 Swing 构建桌面应用全指南

    一、引言:Java 不只写后台,也能做漂亮的桌面应用很多人一提到 Java,就想到后端服务、Web 框架或安卓开发。...但 Java 的 GUI(图形用户界面)能力同样强大,尤其是 Swing,作为跨平台桌面开发利器,它让我们可以快速构建功能丰富、美观实用的桌面软件。...二、Swing 简介与 AWT 区别2.1 AWT 与 Swing 对比特性AWTSwing所属包java.awt.*javax.swing....*平台依赖性是(调用原生系统)否(纯 Java 实现)外观可定制性差好(支持 LookAndFeel)组件复杂度简单丰富(支持复杂组件)2.2 Swing 常用组件类名用途JFrame顶级窗口JPanel...五、Swing 布局管理器布局决定了组件在窗口中的排布方式。

    45200

    Java GUI 图形界面开发详解:从 AWT 到 Swing 的全面实践

    Java 提供了两套 GUI 开发库: AWT(Abstract Window Toolkit):Java 最早期的 GUI 库,基于本地平台组件。...Swing:AWT 的增强版,提供更多组件,平台无关,开发更灵活。 本篇我们将结合理论与代码图示,全面讲解 Java GUI 编程的开发流程与实践案例。...二、Java GUI 技术栈对比图 技术 说明 优点 缺点 AWT Java GUI 最早库 轻量,简单 功能少,兼容差 Swing 更强 GUI 库 组件丰富,平台无关 比较老旧,界面风格传统 JavaFX...四、Swing 入门:比 AWT 更强大的 GUI 库 Swing 是建立在 AWT 之上的增强库,组件更丰富,功能更强。...GUI 的开发路径,包括: ✅ AWT 与 Swing 的区别与用途 ✅ 创建窗口、表单、响应用户操作 ✅ 实战开发一个计算器界面 ✅ 图文结构 + 完整代码让你快速上手桌面开发

    51510

    JVM中8种垃圾收集器小结

    引入 Logging API 引入 Java Web Start 引入 JDBC 3.0 API 引入断言 引入 Preferences API 引入链式异常处理 支持 IPV6 支持正则表达式 引入...Image I/O API NIO,非阻塞的 IO,优化 Java 的 IO 读取。...对 WebService 支持的增强(JAX-WS2.0 和 JAXB2.0) 引入 JDBC4.0API 引入 Java Compiler API 通用的 Annotations 支持 JAVA7,...Swing 组件增强(JLayer,Nimbus Look Feel…)参考 JAVA8 2014-3-19 发布,oracle 原计划 2013 年发布,由于安全性问题两次跳票,是自 JAVA5 以来最具革命性的版本...,一种用在桌面开发领域的技术 静态链接 JNI 程序库 JAVA9 2017-9-21 发布 模块化(jiqsaw) 交互式命令行(JShell) 默认垃圾回收期切换为 G1 进程操作改进 竞争锁性能优化

    83000
    领券