Java Swing 是一个功能强大的 GUI 工具包,提供了丰富的组件库用于构建跨平台的桌面应用程序。...本文将详细讲解 Swing 的基础组件,包括其作用、使用方法以及示例代码,帮助你快速掌握 Swing 的核心知识。 一、什么是 Swing 基础组件?...Swing 的基础组件是构建用户界面的核心元素,用于展示信息或与用户进行交互。所有 Swing 的组件都继承自 javax.swing.JComponent 类,这使得它们具有一致的行为和特性。...二、常见的 Swing 基础组件 1. JLabel:标签组件 作用:用于显示一段文本、图像或两者的组合,不能被用户编辑。...的基础组件是构建桌面应用程序的核心。
从早期的 AWT(Abstract Window Toolkit)到更先进的 Swing,Java GUI 编程逐步演进,解决了跨平台一致性、组件丰富性以及性能等问题。...本篇博客将详细讲解从 AWT 到 Swing 的过渡。 一、AWT 简介 1. 什么是 AWT?...Swing 的特点 轻量级组件:Swing 的组件不依赖于本地操作系统,而是用纯 Java 实现。...Swing 和 AWT 的主要区别 特性 AWT Swing 组件实现 依赖本地操作系统的组件 纯 Java 实现(轻量级组件) 组件外观 外观由操作系统决定 支持跨平台外观,可自定义 线程模型 非线程安全...六、总结 Java Swing 的出现极大地提升了 Java GUI 编程的能力,它克服了 AWT 的局限,提供了更强大的组件库和更高的灵活性。
一直以来都不喜欢Java的GUI程序,界面丑陋,而且感觉功能也不强大,但是为了跨平台也没办法! 今天在完成一个JDialog,界面中有删除按钮,用户点击后删除特定的组件。...其实,自己Java Swing也是边学边用,搞了一下午,自己先使用removeAll()方法删除组件,然后实验了什么repaint()方法,validate()都不行。 ...网上也没搜到资料,最终瞎折腾了一下午找到了方法,但是对于其中的原理还是不太清楚。 ...(); this.contentPanel.setVisible(true); addComponent()方法是我自己写的动态添加组件的方法。...写出来与大家分享,如果有类似问题的可以参考下!
12.3.1 JMenu 在Java中实现下拉式菜单,可以使用JMenu菜单组件。...例12-13 Demo1213.java 1import java.awt.*; 2import javax.swing.*; 3import java.awt.event.ActionEvent...12.3.1 JPopMenu 弹出式菜单,如果要在Java中实现此菜单,可以使用JPopupMenu菜单组件,先来了解一下它的常用方法,如表12.15所示。...例12-14 Demo1214.java 1import java.awt.*; 2import java.awt.event.*; 3import javax.swing.*; 4public...12.3.1 JTable 表格也是Swing GUI编程中常用的组件,表格是一个由行、列组成的二维显示区域,Swing的JTable提供了对表格的支持,通过使用JTable创建表格是非常容易的,它的构造方法如表
为组件设置边框 很多情况下,我们常常喜欢给不同的组件设置边框,从而让界面的层次感更明显,swing中提供了Border对象来代表一个边框,下图是Border的继承体系图: 特殊的Border:...,需要传入其他两个Border对象,一个作为内边框,一个座位外边框 给组件设置边框步骤: 使用BorderFactory或者XxxBorder创建Border的实例对象; 调用Swing组件的setBorder...: 创建一个适用于该容器的组件(例如,在工具栏中创建一个工具按钮); 从 Action 对象中获得对应的属性来设置该组件(例如,通过 name 来设置文本,通过 lcon 来设置图标) ; 把Action...监听器注册到刚才创建的组件上; 案例: 使用JToolBar组件完成下图效果: 演示代码: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent..., Swing 已经为这些对话框添加了相应的组件,无须程序员手动添加组件 。
; import javax.swing.JOptionPane; import javax.swing.WindowConstants; /** * 1:按钮在Swing中是较为常见的组件,用于触发特定动作...* Swing中提供了多种按钮,包括提交按钮,复选框,单选按钮等 * 这些按钮都是从AbstractButton类中继承而来的 * * 2:Swing中的提交按钮组件(JButton)由JButton...; /** * 1:复选框组件JCheckBox * 其在Swing组件中的使用也非常广泛,它具有一个方性图标,外加一段描述性文字 * 复选框区别于单选按钮就是每一个复选框都提供了选中和不选中两种状态...* * 2:单选按钮是Swing组件中JRadioButton类的对象,该类是JToggleButton的子类 * 而JToggleButton类又是AbstractButton类的子类,所以控制单选按钮的诸多方法都是...此简例只是简单的描写了如何实现单选按钮,并没有产生反应,仅是案例演示 package com.swing; import java.awt.Color; import java.awt.Container
Document是用于文本的容器,用作swing文本组件的模型。 此接口的目标是从非常简单的需求(纯文本文本字段)扩展到复杂需求(例如,HTML或XML文档)。...内容 在最简单的级别,文本可以建模为线性字符序列。 为了支持国际化,Swing文本模型使用unicode字符。 文本组件中显示的字符序列通常称为组件的内容 。...以下方法与文档内容的变异有关: insertString(int, java.lang.String, javax.swing.text.AttributeSet) remove(int, int) createPosition...通知作为两个单独的事件提供, DocumentEvent和UndoableEditEvent 。...与属性相关的方法是: getProperty(java.lang.Object) putProperty(java.lang.Object, java.lang.Object) 有关Document
一.前言 首先应该明白,用java创建一个窗体程序包括下面几步: 1.实例化JFrame对象,也就是创建一个窗体。 2.获取一个容器。 3.创建组件。 4.向容器添加组件。...应该有这样的概念,Swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器,通常,这个容器用来包含和显示组件。...关于java文档,可自行下载: java文档 二.Swing常用组件 组件名称 定义 JButton 代表Swing按钮,按钮可以带一些图片或文字 JCheckBox 代表Swing中的复选框组件...JComboBox 代表Swing下拉列表框,可以在下拉显示区域显示多个选项 JFrame 代表Swing的框架类 JDialog 代表Swing版本的对话框 JLabel 代表Swing中的标签组件...Swing中的文本区域 JOptionPane 代表Swing中的一些对话框 每个组件都有很多种用法,建议查看java文档。
直到现在,在一个小应用程序或应用程序中混用轻量组件和重量组件还是有许多问题,尤其是把重量组件嵌入轻量容器中时更是如此。 2.3.1 层序 组件的层序是同一容器中组件之间显示的层次关系。 ...首先,我们要讨论为什么Swing是线程不安全的,然后介绍在Swing开发过程中单线程设计所带来的结果。 让我们面对这个事实,甚至在java中,开发多线程的应用程序也是不容易的。...技术上说,在Swing组件的对等组件创建之前(指可在屏幕上绘制之前)(注:对等组件是用addNotify方法创建的),它们可以从多个线程中访问。...例2-13 从另一个线程更新组件的错误方法 import javax.swing.*; import java.awt.*; import java.awt.event.*; public...例2-14 从另一个线程中更新组件的正确方法(演示图) import javax.swing.*; import java.awt.*; import java.awt.event.*;
游戏截图 飞机项目的所有类的截图 主窗体类 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。
二.开发环境 开发环境: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
Java Swing 提供了丰富的组件库,其中JTable、JTree和JTextArea用于展示数据和用户输入。本文将深入浅出地介绍这些组件,常见问题,易错点以及如何避免,同时提供代码示例。 1....JTable JTable用于展示二维数据,如表格形式的数据。它可以从数组、列表或模型中获取数据。...示例代码 import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel...结语 JTable、JTree和JTextArea是Swing中展示和处理数据的重要组件。理解它们的用法,注意常见的设计模式和错误,可以帮助你创建出功能丰富的用户界面。...在实践中,结合不同的布局管理器和组件,你可以构建出各种复杂的界面。
对于需要构建桌面应用、工具软件、图形交互系统的场景,Java 的 GUI 框架(如 Swing、JavaFX)提供了丰富的组件和事件机制。...本文将带你入门 Swing GUI 开发,并通过一个实战项目,构建一个简单但完整的 Java 桌面应用。...二、Java GUI 技术体系概览Java 支持多种 GUI 开发方式,最常见有:技术特点AWT最早的 GUI,依赖本地组件,跨平台性差SwingAWT 的增强版,组件完全由 Java 实现JavaFX...三、Swing 的基本结构Swing 提供了大量的 GUI 组件: 顶层容器:JFrame、JDialog 面板:JPanel 控件:JButton、JTextField、JLabel、JCheckBox...├── JTextField └── JButton四、创建你的第一个 GUI 程序java复制编辑import javax.swing.
一、数据库设计首先的话,基于这个FIFA球员管理系统的需求来看,只需要一个球员表baller就足够了,然后里面包含的属性应该有数据id,也就是这一条记录的id,然后就是球员的球号(bid),还有球员名字...,我们这边避免不了要跟数据库进行一个交互,那么这里我们需要一个DB类,里面可以通过传入不同的sql语句从而进行一个操作,那么DB类应该单独放在dao包里面去。...添加菜单对应的就是Add类,然后还有修改菜单的Alter类,删除菜单对应的DelMin类,按姓名查询对应的NameQue类,和按球号查询对应的IdQue类,和模糊查询对应的LikeQue类。...这些都是需要我们去重写的.然后还有就是当添加球员的时候,需要有一个保存球员信息到数据库的方法,这里对应的就是saveTo方法。...完整的类图如下:这里还有最关键的一点就是说,球队名称的话,这里是写死了一个数组在这里的,teams数组代表的就是球队名称。
package com.swing; import java.awt.Color; import java.awt.Container; import java.awt.event.WindowAdapter...; /** *1:Swing组件通常被称作"轻量级的组件"; * *2:窗体作为Swing应用程序中组件的承载体,处于非常重要的位置,Swing中常用的窗体包括 *JFrame,JDialog... * *3:JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些 *Swing组件的容器 * *4:读者大致应该有这样一个概念 *Swing组件的窗体通常和组件的容器相关...* * *过程如下 *第一创建一个JFrame窗体对象 *第二通过getContentPane()方法将窗体转化为容器 *第三在容器中添加组件或设置布局管理器 *第四通常这个容器用来包含和显示组件...,实例化JLabel对象,然后将标签实例添加到容器中,然后可以设置容器的布局, package com.swing; import java.awt.Color; import java.awt.Container
在Java中使用Swing嵌入浏览器,可通过多种方式实现,以下是几种常见的技术方案及应用实例:使用JCEF框架技术方案:JCEF全称为Java Chromium Embedded Framework,它能将...接着创建一个Swing窗口作为浏览器界面,将CefBrowser组件嵌入其中。...);frame.setVisible(true);使用JEditorPane组件技术方案:JEditorPane是Swing中的一个文本组件,默认支持纯文本、HTML文本等内容类型。...通过JFXPanel可以将JavaFX组件嵌入到Swing应用中。...Java Swing, 浏览器嵌入,实现方案,WebView 组件,JxBrowse
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 的区别与用途 ✅ 创建窗口、表单、响应用户操作 ✅ 实战开发一个计算器界面 ✅ 图文结构 + 完整代码让你快速上手桌面开发
例9-5 CheckBoxTest.java javax.swing.JCheckBox 1.2 • JCheckBox(String label) 用给定的标签构造一个复选框,该标签初始化为“...javax.swing.JComponent 1.2 • void setBorder(Border border) 设置这个组件的边界。...滑块允许进行连续值的选择,例如,选择从1~100的任何一个数值。...需要填充一个键为Integer类型而值为Component类型的散列表(在JDK 5.0中,自动打包可以使这个过程容易很多)。然后调用setLabelTable方法,组件就会放置在标尺标记处。...例9-10 SpinnerTest.java javax.swing.JSpinner 1.4 • JSpinner( ) 构造一个编辑整数的微调控制器,初始值为0,增量为1,没有边界。
Part1 前言 Swing是一个用于开发java图形界面程序的工具包,一直用着挺顺手的,美中不足就是没有好用的浏览器组件,只能引用第三方jar包,比如说JxBrowser、DJ Native Swing...后续经过一系列测试,找到了一个简单的在netbeans拖拽图形控件的同时,实现swing调用webview组件的简单方法,而且代码量很少。...Part2 技术研究过程 Swing浏览器组件踩过的坑 先讲一下用Swing引用第三方jar包开发浏览器踩过的坑,大家可以参考一下。...1 JEditorPane这个组件是swing工具包中自带的,但是它能解析的html及css非常有限,N年没更新了,很多现在的网页,加载会出问题。...javafx组件是Jdk1.8中自带的,经过不断测试,发现还是jdk官方自带的组件好用,非常稳定,没有任何报错,编写起来还简单。至此一直困扰我的swing浏览器组件编写问题完美解决!