Java的图形用户界面由各种组件(component)组成。Java提供了丰富的类库用于GUI设计,这些类分别位于java.awt包和javax.swing包中,简称为AWT和Swing。...Swing是完全使用Java代码编写的,所以同Java本身一样可以跨平台运行,它为大规模的GUI开发提供了丰富的基础结构。...支持键盘代替鼠标的操作:在Swing组件中,可以使用JComponent类的registerKeyboardAction()方法,为Swing组件提供热键,使用户可以使用键盘代替鼠标操作。...设置边框:对Swing组件可以设置一到多个边框。在Swing中提供的各式边框,用户可以根据自己的需求来借助边框,由布局管理器对容器中的组件进行合理布局。...Swing组件是围绕一个新的组件类JComponent建立的,JComponent是java.awt包中的Container类的子类,接下来先了解一Swing的体系结构,如图12.1所示。
AWT图形化开发: AWT是java最开始的图形化开发体系,awt的皮肤都是调用于操作系统的,依赖着操作系统。...容器类的分支有Panel无边框容器和Window有边框容器 Window下分支有Frame可以放大缩小窗口,和Dialog这个只能在最上面显示并且不能放大缩小的窗口类。...Swing图形化开发: Swing则是后来发展的图形化开发体系,纯java的图形化开发,图形化风格不一样,并且没有丢弃awt的结构。 Swing组件类继承于awt的Container容器类。...Swing里的无边框容器,继承于JComponent,有边框容器,则继承于awt的Window类。...Swing里有个抽象Button类,是继承于JComponent组件类的。 JButton、JToggleButton都是继承于抽象Button类。
Swing概述 实际使用 Java 开发图形界面程序时 ,很少使用 AWT 组件,绝大部分时候都是用 Swing 组件开发的 。...Swing是由100%纯 Java实现的,不再依赖于本地平台的 GUI, 因此可以在所有平台上都保持相同的界面外观。...Swing组件层次 Swing组件继承体系图: 大部分Swing 组件都是 JComponent抽象类的直接或间接子类(并不是全部的 Swing 组件),JComponent 类定义了所有子类组件的通用方法...,JComponent 类是 AWT 里 java.awt....Swing 组件可以设置一个或多个边框。 Swing 中提供了各式各样的边框供用户边 用,也能建立组合边框或自己设计边框。
/* * TabbedPaneDemo.java requires one additional file: * p_w_picpaths/middle.gif. */ import javax.swing.JTabbedPane...; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JFrame...; import javax.swing.JComponent; import javax.swing.SwingUtilities; import javax.swing.UIManager; import...java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.KeyEvent...(String text,String buttons) {//制定的组件 JPanel panel = new JPanel(false); JLabel filler
Swing有大量的API可以使用,而这里讲解的是游戏,不是Swing组件,所以不会讨论Swing的组件功能。...内容面板实际上绘制它的背景,所以它会隐藏面板下面的所有内容;如果希望自已Swing组件以独立的形式呈现,那么需要把内容面板设置为透明: If(contentPane instanceof JComponent...){ ((JComponent)contentPane).setOpaque(false); } 第二问题是:处理Swing怎样呈现自己的组件问题,因为普通的Swing应用,我们不必呼叫paintComponents...; import javax.swing.JComponent; /** 功能:书写一个管理Swing中组件重绘请求的工具类 作者:技术大黍 备注: 截获组件的重绘请求,然后根据实际动画需求分发到相应的组件中去...如果需要让图标原样出现,那么需要隐藏按钮的边框,隐藏时呼叫setContentAreaFiled(false)方法,以保证挥刀的背景不会被绘制 修改光标。
在 AWT和 Swing中,提供了Component 类、JComponent 类及它们的子类,这些类实例化后的对象就是生成的相应组件。然而,组件并不能独立地显示,必须将其放置在容器中。...Java 语言主要在 java.awt.event包提供了AWT 组件和 Swing组件所激发的各类事件的接口和类,用来检测并对事件做出反应。...尽管AWT是Java的一部分,但它的效率和灵活性相对较低。因此,许多Java程序员更喜欢使用Swing,它是建立在AWT之上的高级GUI工具包。...()设置组件外围的边框:标签、按钮等组件可以使用图标。...Swing 组件大多以 JComponent 类作为父类(如图4-13所示);JComponent 类是一个抽象类,定义了所有子类组件的一般成员方法;而 JComponent 类继承自 Container
Document是用于文本的容器,用作swing文本组件的模型。 此接口的目标是从非常简单的需求(纯文本文本字段)扩展到复杂需求(例如,HTML或XML文档)。...内容 在最简单的级别,文本可以建模为线性字符序列。 为了支持国际化,Swing文本模型使用unicode字符。 文本组件中显示的字符序列通常称为组件的内容 。...以下方法与文档内容的变异有关: insertString(int, java.lang.String, javax.swing.text.AttributeSet) remove(int, int) createPosition...与属性相关的方法是: getProperty(java.lang.Object) putProperty(java.lang.Object, java.lang.Object) 有关Document...类的更多信息,请参阅The Swing Connection ,最特别是文章The Element Interface 。
从早期的 AWT(Abstract Window Toolkit)到更先进的 Swing,Java GUI 编程逐步演进,解决了跨平台一致性、组件丰富性以及性能等问题。...的诞生与进化 为了弥补 AWT 的不足,Java 在 JDK 1.2 中引入了 Swing。...Swing 的特点 轻量级组件:Swing 的组件不依赖于本地操作系统,而是用纯 Java 实现。...六、总结 Java Swing 的出现极大地提升了 Java GUI 编程的能力,它克服了 AWT 的局限,提供了更强大的组件库和更高的灵活性。...在实际开发中,Swing 仍然是构建桌面应用程序的常用工具,尽管随着 JavaFX 的发展,Swing 的使用场景有所减少,但依然是学习 Java GUI 编程的良好起点。
ips 的全称是 intrusion prevention system,解释为入侵防御系统。...如果是封装好的不能代码里集成,可以外部 cmd 窗口里启用驱动,后面加上这个参数,注意参数前要有个空格,注意窗口不要关,不然就失效了,可以保证启用过程中可以正常的调用 chrome。...javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed...:252) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent...(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent
游戏截图 飞机项目的所有类的截图 主窗体类 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
创建 UI 窗体 2.1 创建方式 New -> Swing UI Designer -> GUI Form 在 Java 中创建窗体的方式主要有 AWT、Swing、JavaFx,由于 IDEA 使用...Swing 开发,所以这里创建 Swing 窗体的兼容性会更好。...那么这里 Swing 窗体的创建可以是自己手写窗体结构,也可以使用可视化拖拽的 GUI Form 如果你的窗体不复杂,其实拖拽的方式就可以满足使用。...最终这里的代码标签代码会展示到 SettingUI.java 中,而渲染内容会被隐藏,这样的方式也比较方便控制一些自定义内容的添加,例如事件和新窗体等 另外在 SettingUI.java 中,还需要在构造函数添加一个按钮事件...方法主要是把我们自己创建的 UI 面板提供给 JComponent apply 是一个事件,当我们点击完成配置的 OK、完成,时候就会触发到这个方法。
参考链接: 对Java中派生类方法更严格的访问 第2章 Swing的基本知识 本章介绍开发Swing小应用程序和应用程序时要用到的Swing的基本知识。 ...java.awt.Panel类的一个扩展(BorderedPanel),BorderedPanel在面板的外面画了一个黑边框,以使面板可见。 ...如果重量组件滚动超出了JScrollPane实例的边框,则它就不能正确地显示了。 ...图2-9所示的小应用程序说明了把一个重量组件添加到JScrollPane实例中并滚动重量组件使其超出滚动窗格边框的情况。 ...例如,JComponent的repaint、revalidate和invalidate等方法都对放在事件派发线程上的请求进行排队。因此,可从任何线程中调用这些方法。
Java Swing 开发中常用的一些组件、布局管理器等相关知识技术,并且每章节都将通过代码实例展示实际应用。...教程总目录: Java Swing 图形界面开发(目录) 1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分。...Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口、标签、按钮、文本框等。 Swing 提供了许多比 AWT 更好的屏幕显示元素,使用纯 Java 实现,能够更好的兼容跨平台运行。...继承自javax.swing.JComponent。...布局管理器 把 Swing 的各种组件(JComponent)添加到面板容器中(JPanel),需要给面板容器指定布局管理器(LayoutManager),明确容器(Container)内的各个组件之间的排列布局方式
使用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。
如标题所述, 我在进行Windows 上的智能卡交互系统的研发。...(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed...(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased...(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent...表明该卡不支持您正在使用的协议,说到这里相信你就应该明白了,因为Java和Windows的本机智能卡API之间的接口可能不允许(或实现)强制执行特定协议,而且在SLE-4428卡上找到的数据表似乎没有提到卡支持的协议
(BookManagement.java:109) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)...at javax.swing.AbstractButtonHandler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed...(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259...) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent...(Component.java:6539) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent
然而,随着GUI的重心向移动端转移,Java的GUI部分地位有些尴尬。无论如何,我们还是可以通过Java来了解GUI编程的一些基本内容。 图形的理解 看下面一个图片: ? KTurtle绘制。...一个简单的GUI Java的GUI功能主要集中在awt和swing两个包中。awt是GUI底层包。swing包是高层的封装,更容易移植。这里将更侧重于swing包。...import javax.swing.*; import java.awt.*; public class HelloWorldSwing { private static void createAndShowGUI...更多的Java布局方式 图形元素 除了按钮之外,我们还可以在GUI中增加更多的元素,这些元素大都是JComponent的衍生类。...JComponent 更多元素 总结 这里只是简单的展示了GUI编程的一些例子,以便从概念上了解GUI编程。随着使用的深入,我们很可能转入IDE设计GUI,并自动生成GUI代码。
二.开发环境 开发环境: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
图形用户界面 什么是AWT 基本的程序设计类库,抽象接口工具箱。将处理界面的的任务下派给每一个平台(windows等) 什么是swing 与AWT不同在不同平台显示的界面是一样的。...建立在AWT之上 Swing的优势 Swing拥有丰富的、便捷的、用户界面元素集合 Swing对底层平台依赖极少 Swing对于不同平台一致的观感 基本事件采用AWT 框架创建和定位 写一个显示空框架的简单程序...package SimpeFrame; import javax.swing.*; import java.awt.*; public class SimpeFrameTest { public...组件必须由时间分派线程(EventQueue.invokeLater)配置 调整框架的大小 package SimpeFrame; import javax.swing.*; import java.awt...JFrame内部层级.png 显示文字组件 package SimpeFrame; import javax.swing.*; import java.awt.*; import static com.sun.tools.internal.xjc.reader.Ring.add
例9-5 CheckBoxTest.java javax.swing.JCheckBox 1.2 • JCheckBox(String label) 用给定的标签构造一个复选框,该标签初始化为“.... 3)如果确实想将边框凸显出来,可以调用下列方法把几种边界组合起来使用: BorderFactory.createCompoundBorder. 4)调用JComponent类中setBorder方法将结果边界添加到组件中...javax.swing.JComponent 1.2 • void setBorder(Border border) 设置这个组件的边界。...例9-10 SpinnerTest.java javax.swing.JSpinner 1.4 • JSpinner( ) 构造一个编辑整数的微调控制器,初始值为0,增量为1,没有边界。...• void setEditor(JComponent editor) 设置用于编辑微调控制器的值的组件。