本章将讲解Java AWT事件模型的工作机制,从中可以看到如何捕捉鼠标和键盘产生的事件。另外,本章还介绍如何使用最简单的GUI组件元素,如按钮,以及如何处理由这些组件产生的基本事件。...在下一章中,将阐述如何将Swing提供的多个组件组织在一起,并全面地讲述这些组件产生的事件。 事件处理基础 任何支持GUI的操作环境都要不断地监视敲击键盘或点击鼠标这样的事件。...操作环境将这些事件报告给正在运行的应用程序。如果有事件产生,每个应用程序将决定如何对它们做出响应。 在Visual Basic这样的语言中,事件与代码之间的对应是明确的。...在示例程序中,监听器对象将改变面板的背景颜色。 在演示如何监听按钮点击事件之前,首先需要讲解一下如何创建按钮以及如何将它们添加到面板中。(有关GUI元素更加详细的内容请参阅第9章。)...由于属性文件中以#字符开始的行被忽略,所以,可以在swing.properties文件中提供几种观感选择,并通过增删#字符来切换选择: #swing.defaultlaf = javax.swing.plaf.metal.MetalLookAndFeelswing.defaultlaf
思路:在java源文件中查找源代码 首先,我们知道JFrame.setDefaultCloseOperation(int operation)中提供了四种方式去实现关闭窗口 JFrame在包javax.Swing...所以可以来判断此时退出是否安全 四种参数表示的意思: DO_NOTHING_ON_CLOSE(在 WindowConstants中定义):不执行任何操作;要求程序在已注册的 WindowListener...HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。...DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。...EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。
它允许开发者为图形用户界面组件(如按钮、文本框等)定义事件响应行为,如点击、键盘输入等。通过注册事件监听器并编写事件处理逻辑,AWT能够响应用户与界面元素的交互,实现动态和交互式的应用体验。...前面的文章介绍了如何放置各种组件,从而得到了丰富多彩的图形界面,但这些界面还不能响应用户的任何操作。比如单击前面所有窗口右上角的“X”按钮,但窗口依然不会关闭。...在GUI事件处理机制中涉及到4个重要的概念需要理解: 事件源(Event Source):操作发生的场所,通常指某个组件,例如按钮、窗口等; 事件(Event):在事件源上发生的操作可以叫做事件,GUI...Swing事件处理机制与AWT的区别 Swing 的事件处理机制与 AWT 保持一致,甚至很多事件的处理仍然使用的是java.awt.event包中的类和接口。...为了扩展事件处理能力,在javax.swing.event包中新增了一些新的事件类及其监听器接口。
而本章介绍的Java图形用户界面技术是基于Java SE 的 Swing,事实上它们在实际应用中使用不多,因此本章的内容只做了解。...Applet Applet称为Java小应用程序,Applet基础是AWT,但它主要嵌入到HTML代码中,由浏览器加载和运行,由于存在安全隐患和运行速度慢等问题,已经很少使用了。...在使用时通过继承事件所对应的适配器类,覆盖所需要的方法,无关方法不用实现。...,上面写黄色字如何实现?...在界面中安排一个标签显示单词,另有“上一个”、“下一个”两个按钮实现单词的前后翻动。
事件处理 前面介绍了如何放置各种组件,从而得到了丰富多彩的图形界面,但这些界面还不能响应用户的任何操作。比如单击前面所有窗口右上角的“X”按钮,但窗口依然不会关闭。...在GUI事件处理机制中涉及到4个重要的概念需要理解: 事件源(Event Source) :操作发生的场所,通常指某个组件,例如按钮、窗口等; 事件(Event):在事件源上发生的操作可以叫做事件,GUI...案例: 完成下图效果,点击确定按钮,在单行文本域内显示 hello world: import java.awt.*; import java.awt.event.ActionListener;...事件 触发时机 ActionEvent 动作事件 ,当按钮、菜单项被单击,在 TextField 中按 Enter 键时触发 AjustmentEvent 调节事件,在滑动条上移动滑块以调节数值时触发该事件...监听Frame容器添加组件; 通过TextListener监听TextFiled内容变化; 通过ItemListener监听Choice条目选中状态变化; import javax.swing
例如,在用户界面上有一个按钮,当用户将鼠标移动到按钮上并单击时,就触发了一个“按钮单击”事件,然后由该命令按钮中的代码来完成相应的操作。因此,事件处理技术是用户界面程序设计中一项重要的技术。...事件源通过调用相应的方法将某个对象设置为它的监听器,监听器提供专门的方法用来处理事件。 11.3.2 委托事件模型 Java图形用户界面处理程序中,采用的是委托事件模型机制。...JButton button=new JButton("按钮事件源"); 定义监听器,并实现监听器中的接口的所有方法。...4.编程题 (1) 在JFrame窗体中添加5个按钮,使用BorderLayout布局管理器使5个按钮分布在东西南北中,在缩放或扩大界面时,南和北按钮总是保持最佳高度。...(2) 在JFrame窗体下部添加5个按钮,分别为显示上一张、下一张和1、2、3,控制窗体上部显示的红、蓝、绿颜色卡片,使用CardLayout布局管理器实现如上效果。
了解如何使用 Java、Node.js 和 JxBrowser 构建屏幕共享应用程序。远程屏幕共享用于各种应用程序和服务,从网络会议到远程访问应用程序。...二线工程师可以使用它来协助一线的同事,或者技术支持专家可以使用它来准确了解到客户的故障现象。你可以使用 TeamViewer 、Todesk、向日葵等第三方应用程序。...JxBrowser 是一个跨平台的 Java 库,可让将基于 Chromium 的 Web 浏览器控件集成到 Java Swing、JavaFX、SWT 应用程序中,并使用数百种 Chromium 功能...Java 客户端是两个桌面应用程序。第一个是带有按钮的窗口。单击该按钮开始共享会话。第二个应用程序自动接收视频流并显示它。还有一个停止屏幕共享的按钮。...结论在本文中,展示了如何在一个 Java 应用程序中共享屏幕并使用 JxBrowser 在另一个应用程序中显示它。 我创建了一个可以共享屏幕的简单 JavaScript 应用程序。
该小应用程序扩展JApplet并通过调用JApplet.getContentPane()方法来获得对其内容窗格的引用。这个标签随后被实例化并被添加到这个内容窗格中。 ...相比之下,Swing在小应用程序和应用程序的内容窗格中使用相同的布局管理器(即一个BorderLayout实例)。 ...浏览器或小应用程序的阅读器会调用Swing小应用程序的构造方法,因此,通常不需要开发人员编写代码来调用它的构造方法,但是,应用程序必须负责构造窗体并负责设置窗体的大小。...2.4.2 SwingUtilties类的invokeLater和invokeAndWait方法 由于AWT和Swing都是事件驱动工具包,所以在回调方法中更新可见的GUI就是很自然的事。...当多线程被引入到面向对象语言中以后,人们遇到的较困难的领域之一就是如何扩展线程安全的类。相比之下,Swing开发人员使用的单线程方法使得类很容易扩展。
它的组件具有广泛的自定义属性,我们可以使用它们以编程方式控制动画,从而使我们能够轻松实现所需的效果。 安装 vue-kinesis 可用于 Vue 2 和 Vue 3。...VueKinesis); app.mount("#app"); 您还可以安装 Vue 2 版本: npm install vue-kinesis 然后选择导入整个库,以便在项目中的任何位置都可以使用它...但是,您可以通过将 .mobile 附加到 v-prlx 属性来轻松启用它: 此外,通过提供额外的对象,我们可以设置视差速度...然而,与之前的库不同的是,这个库没有直接提供帮助类或组件来允许我们向应用程序添加动画。相反,它提供了指令,允许我们在应用程序的一部分滚动到视图中时调用动画。...有了这篇文章,希望您能够从各种可用的动画库中进行选择,并找到一个完美地补充您的 Vue.js 应用程序的动画库。
GUI的各种元素(如:窗口,按钮,文本框)由Java类实现。 使用AWT所涉及的类一般在 java.awt 包及其子包中。 Container 和 Component 是AWT中的两个和心态。...,例如一个按钮,一个标签等。...时,会生成一个 ActionEvent 对象,该对象作为参数传递给 ActionListener 对象的 actionPerformer 方法在方法中可以获取该对象的信息,并做相应的处理。...何时使用: 该类不允许或不需要其他类访问时。...WindowListener定义的方法有: 与WindowListener对应的适配器为 WindowAdapter。
\ MouseAdapter //鼠标适配器 KeyAdapter //键盘适配器 ActionListener //动作监听 适配器设计模式: 在使用监听器的时候, 需要定义一个类事件监听器接口....; import javax.swing.JOptionPane; public class Demo1_StartGUI { public static void main(String[] args...TextField extends TextComponent //构造方法 TextField(String text, int columns) //构造一个与指定要显示的指定文本初始化的新文本字段,并足够大以保持指定的列数...实际利用: TextField tf = new TextField("输入框默认显示数值",15); //预设值文本框以及大小 4.按钮 描述:Button按钮图标相关类 //类创建一个标记按 public...void setLabel(String label) //将按钮的标签设置为指定的字符串。 String getLabel() //获取此按钮的标签。
接着,将Frame容器的布局方式修改为FlowLayout,并指定了左对齐方式以及水平和垂直间距为20。...然后创建一个Panel对象p1,并在其中放置一个TextField组件,表示计算器的显示屏。将p1放置在Frame的北侧。...接着创建一个Panel对象p2,并设置其布局管理为GridLayout,即以网格形式排列组件。在p2中依次放置15个按钮,内容包括数字0-9,以及运算符"+“、”-“、”*“、”/“和小数点”."。...接下来,创建了一个容量为10的Button数组,并通过循环初始化了每一个按钮。 通过调用addComponent方法,将前三个按钮添加到Frame中,并设置了一些约束条件。...在代码中还定义了一个addComponent方法,用于将组件添加到容器中,并设置其约束条件。 这段代码的效果是,将按钮以不同的布局方式添加到Frame中,并根据约束条件进行布局。
* 参数text,icon分别代表显示文字标签和图标 * * 3:本实例使用了两种方式创建按钮,第一种是在初始化按钮时赋予按钮图标与文字 * 这种初始化必须先获得图片路径,然后将路径实例化到...Icon,然后在Button中加载出来 * 第二种方式是首先创建一个没有定义图标和文字的按钮对象,然后使用 * setIcon()方法为这个按钮定制一个图标。...; /** * 1:复选框组件JCheckBox * 其在Swing组件中的使用也非常广泛,它具有一个方性图标,外加一段描述性文字 * 复选框区别于单选按钮就是每一个复选框都提供了选中和不选中两种状态...,而在应用程序中,一般将多个单选按钮放置在按钮组中,使这些单选按钮 * 表现出某种功能,当用户选中某个单选按钮后,按钮组中其他按钮将被自动取消。...* * 3:在Swing中存在一个ButtonGroup类,用于产生按钮组。
我们将使用Java编程语言和Swing图形界面库,从零开始构建一个简单但功能强大的计算器应用程序。...项目三多功能计算器 ☀️实验内容 通过编写计算器程序,熟悉Java Swing库的使用。 学习处理用户界面事件和实现基本的计算功能。 界面设计 创建一个窗口并设置标题为"计算器"。...通过使用Java Swing库,我创建了一个具有图形界面的计算器窗口,用户可以在其中进行基本的数值计算操作。在设计和开发过程中,我遇到了一些挑战和问题,但最终成功地解决了它们。...我花费了一些时间来决定如何布置按钮和文本框,以使界面直观且易于使用。使用Swing的布局管理器帮助我实现了灵活的界面设计,使得按钮和文本框的布局得到了良好的控制。...这提高了程序的健壮性,并增强了用户体验。 通过这个实验,我巩固了Java Swing库的使用,学习了如何设计和实现一个简单的图形界面应用程序。我进一步加强了对事件驱动编程和UI设计的理解。
另外,在AbstractAction 构造器中也可以设定图标 菜单中的复选框和单选按钮 复选框和单选按钮菜单项在文本旁边显示了一个复选框或一个单选按钮。...比如,如果你在菜单项"Save As"有一个快捷键"A",那么在第二个"A"(SaveAs)下画下划线可能更有意义。通过调用setDisplayedMneMonicIndex方法。...本模块分析了JApplet如何运行,如何被装载到浏览器中,以及它是如何编写的。 JApplet的安全性 由于通过网络装载,Applet的代码具有一种内在的危险性。...,也可以实现动作监听器 classTestAction extends AbstractAction { // 实例化按钮,并给定名字 public TestAction(String...n JApplet的创建和使用 独立实践 n 做一个双应用程序:即可以当作应用程序(在框架上加菜单)运行,也可以当作小应用程序运行。
1:如何让Netbeans的东西Eclipse能访问。 在Eclipse中创建项目,把Netbeans项目的src下的东西给拿过来即可。...注意:修改项目编码为UTF-8 2:GUI(了解) (1)用户图形界面 GUI:方便直观 CLI:需要记忆一下命令,麻烦 (2)两个包: java.awt:和系统关联较强 javax.swing...基本组件:是可以使用的组件,但是必须依赖容器。...windowClosing(WindowEvent e) { System.exit(0); } }); // 设置窗体可见 f.setVisible(true); } } C:窗体添加按钮并对按钮添加事件案例...,并对按钮添加一个点击事件。
例如:一个文本模型中的方法有:在当前文本中添加或者删除字符以及把当前文本作为一个字符串返回等。再次强调,模型是完全不可见的,显示存储在模型中的数据是视图的工作。 ...例3 问题的描述: 边界的使用 解决方案: 如果在一个窗口中有多组单选按钮,那么你需要从视觉上说明哪些按钮属于 同一组。Swing提供了一组有用的边界来解决该问题。...有几种不同边界可供选择,但是使用它们的步骤完全一样: n 低斜面 n 凸斜面 n 蚀刻 n 直线 n 不光滑 n 空(只是在组件周围创建一些空白地方...例7 问题的描述: 文件对话框(JFileChooser)的使用 解决方案: 当你编写一个应用程序时,你常常需要打开和保存文件。...除了文件选择器之外,Swing只提供了另外一种选 择器-----JColorChooser。你可以使用它来挑选一种颜色。同 JFileChooser类一样,颜色选择器是一个组件而非一个对话框。
还有一些组件框架,比如servlets以及RMI会创建线程池并在这些线程中调用组件里边的方法。 如果你使用这些工具,你就不得不去了解和熟悉并发和线程安全这些概念。...当“并发”(concurrency)被框架引入到应用程序(application)的时候,你就不能仅仅把并发局限于框架代码,因为框架总会去回调应用程序的组件,而这些代码又会访问应用程序的状态。...当你使用RMI调用一个远程方法,方法的参数会被打包到一个byte stream中,然后通过网络被运送到远程到JVM中,然后再把包拆开,把参数拿出来传给远程的方法。...用户会在任何时刻选择一个菜单选项或者按下一个按钮,而且他们希望应用程序马上就响应,即使这个时候应用程序正在投入的做一件其它事情,也要快速响应。...Swing 和 AWT很好的解决了这个问题,他们通过创建一个单独的线程来专门负责处理用户触发的事件并更新图形界面呈现给用户。 Swing的组件中,比如JTable,并不是线程安全的。
领取专属 10元无门槛券
手把手带您无忧上云