突然之间,WORA 理念就出现空白了——Swing 应用程序适用于一切平台,除了最重要的那个:网络浏览器。 Java 开发者纷纷“外逃” 那 Java 桌面开发者们都跑哪去了?...这套运行时库包含诸多核心 Java API(例如 java.lang、java.util 等)的实现,确保业务逻辑能够在 GWT 应用程序与服务器应用程序间顺畅共享。...虽然我们还是没法直接使用 Swing 代码、大部分第三方库也不在支持之列,但我们至少可以用到自己最熟悉的 Java 开发环境和核心 API。...然而,代表 Java 世界“最后的坚持”的这帮桌面开发者眼界还是没能打开,仍在围着 UI 库的改进和部署打转。...别小瞧 Mac 应用商店,它的出现堪称对 Java for Mac 桌面开发生态的“斩首行动”。
内容 在最简单的级别,文本可以建模为线性字符序列。 为了支持国际化,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
游戏截图 飞机项目的所有类的截图 主窗体类 package com.tarena.shout; import java.awt.Graphics; import java.awt.Image; import...java.awt.image.BufferedImage; import java.util.Random; import javax.imageio.ImageIO; import javax.swing.JFrame...; import javax.swing.JPanel; import com.tarena.shout.ShootGame.KeyMonitor; import com.tarena.shout.ShootGame.PaintTread...; import java.util.Timer; import java.util.TimerTask; import java.util.Arrays; import java.awt.event.KeyAdapter...public void outOfBoundsAction(){ int index=0;//不越界的敌人的数组系的下标 FlyingObject[] flyinglives=new FlyingObject
使用getWidth()方法即可获取窗口的宽度。...示例代码: import javax.swing.JFrame; public class Main { public static void main(String[] args) {...frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } 执行上述代码后,控制台输出的结果将为...:窗口宽度:500,即窗口的宽度为500。
参考链接: 对Java中派生类方法更严格的访问 第2章 Swing的基本知识 本章介绍开发Swing小应用程序和应用程序时要用到的Swing的基本知识。 ...JApplet和JFrame除具有它们的超类所提供的功能外,还提供对Swing的支持。...线程的使用增加了调试、测试、维护和扩展的困难度。例如,测试和维护等通常已经很艰苦的工作对于大多数多线程应用程序就更困难了,有时甚至是不可能的。 有些Swing组件方法确实支持多线程访问。...有时,在独立的线程上执行耗时的操作可能更好,这将允许立即更新用户界面和释放事件派发线程去派发其他的事件,幸运的是,Swing提供了两种机制,它们都支持这种想法。 ...然而,正是因为Java内置了对多线程的支持,但这并不意味着在Java中实现安全的多线程小应用程序或应用程序是一件简单的事情,更不用提工具包了。
值得一提的是,作者如今在做一款开发者友好型 Java 桌面部署工具(jDeploy),其实他还是希望 Java 可以重拾风采,再度变得对桌面开发具有吸引力。...但它只适用于 API 子集而且不支持 Swing——所以用户就只有两个选项,要么使用本机 GUI 工具包、要么干脆不要 GUI。...所以我心里有了答案:至少在当时,Java 桌面开发已经是死路一条,唯一的用处就是写点小程序——问题是跟 Flash 这类更轻、更快的技术相比,Java Applet 的优势其实也已经不明显了。...相比之下,Swing 则拥有轻量化优势,能够绘制自己的一组小部件、降低了维护难度,帮助用户轻松绘制出自己的跨平台界面。 Swing 提供可插入 UI,支持样式设置以模拟本机平台的外观。...期间先后出现过不少不支持 Swing 的 JVM(Avian 就是其中一种精简型 AOT(预先)编译器,它不支持 Swing、但提供使用 SWT 的 GUI 演示),靠的就是 SWT 这个能在 Java
二.开发环境 开发环境: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
虽然尚处于早期开发阶段,但 JetBrains 表示,其已经“为开发人员带来能够基本安全使用的稳定 API”。...Igotti 的回答是,“旧有 Java 框架基本上就是修改版的 Swing。...JetBrains IDE 中的 Compose for Desktop 项目 Compose 与 Swing 有一个比较大的共同点:与其他使用本机控件的跨平台框架,比如例如 Java 的 SWT(Standard...Compose 的 Web 版本不如桌面版先进,说明文档中也警告称“API 尚未最终确定,预计会发生重大变化。”...“桌面开发现在有点‘二等公民’的意思……这可是个需要高度关注的小众市场。” 那么,JetBrains 会在自己的其他工具中使用 Compose 吗?
一、数据库设计首先的话,基于这个FIFA球员管理系统的需求来看,只需要一个球员表baller就足够了,然后里面包含的属性应该有数据id,也就是这一条记录的id,然后就是球员的球号(bid),还有球员名字...添加菜单对应的就是Add类,然后还有修改菜单的Alter类,删除菜单对应的DelMin类,按姓名查询对应的NameQue类,和按球号查询对应的IdQue类,和模糊查询对应的LikeQue类。...这些都是需要我们去重写的.然后还有就是当添加球员的时候,需要有一个保存球员信息到数据库的方法,这里对应的就是saveTo方法。...或者更改球员信息的时候,需要有一个保存球员信息到数据库的方法,这里对应的就是updateTo方法。...完整的类图如下:这里还有最关键的一点就是说,球队名称的话,这里是写死了一个数组在这里的,teams数组代表的就是球队名称。
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
理论上,Java对IPv6的支持对于程序员来说都是透明的,几乎不需要代码层面的处理。但它到底是怎么支持的?支持到什么程度?对JDK版本有什么要求?对操作系统有什么要求?...本文将用通俗易懂的文字,来讲解Java对IPv6的支持现状,包括关的技术原理、可以使用的API、以及一些可以运行的演示代码片段等,希望能让你更直观的了解Java对于IPv6的支持情况。...4、Java 对 IPv6 的支持 随着 IPv6 越来越受到业界的重视,Java 从 1.4 版开始支持 Linux 和 Solaris 平台上的 IPv6。...除了通过我们熟知的正则表达式,笔者在开发过程中发现使用一个简单的 Java API 也可以达到相同的效果。...所以在多数情况下,程序员并不需要精确控制所使用的类型及其行为,一切交给 Java 虚拟机即可。 具体的新增类型及其新增方法,请具体参阅Java的API文档。
一、引言: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 布局管理器布局决定了组件在窗口中的排布方式。
最近一个实习生问我,swing好难啊,就是jtable的增删查改都做不出来了,我也好久没有做了,各种文档,各种查找,各种百度终于是完成了一个小的项目,也就是所说的增删除查改。不废话了,上代码。...; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import...用户表数据访问的实现 : package dao.impl; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList...block e.printStackTrace(); }finally{ util.closeAll(); } return _list; } } 5)swing...的实现 主窗口: package ui; import java.awt.BorderLayout; public class MainFrame extends JFrame implements
package com.swing; import java.awt.Container; import java.awt.Dimension; import java.awt.GridLayout;...* Swing中提供了多种按钮,包括提交按钮,复选框,单选按钮等 * 这些按钮都是从AbstractButton类中继承而来的 * * 2:Swing中的提交按钮组件(JButton)由JButton...package com.swing; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent...package com.swing; import java.awt.Container; import javax.swing.ButtonGroup; import javax.swing.JButton...此简例只是简单的描写了如何实现单选按钮,并没有产生反应,仅是案例演示 package com.swing; import java.awt.Color; import java.awt.Container
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 的区别与用途 ✅ 创建窗口、表单、响应用户操作 ✅ 实战开发一个计算器界面 ✅ 图文结构 + 完整代码让你快速上手桌面开发
package com.swing; import java.awt.Container; import java.awt.GridLayout; import javax.swing.JButton...; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.WindowConstants; /** * 1...:常用面板 * 面板也是一个Swing容器,他可以看作为容器容纳其他组件,但它也必须被添加到其他容器中 * Swing中常用的面板包括JPanel面板和JScrollPane面板 * * 2:...package com.swing; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JScrollPane...; import javax.swing.JTextArea; import javax.swing.WindowConstants; /** * 1:设置界面时,可能会遇到在一个较小的容器窗体中显示一个较大部分的内容的情况
Main.java package myCalculator; import javax.swing.JFrame; public class Main { public static void...frame.setVisible(true);//显示出来 frame.setLocationRelativeTo(null);//将窗口显示在屏幕中间 } } MyFrame.java...package myCalculator; import javax.swing.JFrame; public class MyFrame extends JFrame{ public MyFrame...() { add(new MyPanel()); pack(); } } MyPanel.java package myCalculator; import...java.awt.*; import java.awt.event.*; import javax.swing.*; public class MyPanel extends JPanel{
引入 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 进程操作改进 竞争锁性能优化