目前,只需知道JRootPane包含一个称作为内容窗格的容器即可。内容窗格包含与特定的小应用程序或应用程序有关的所有内容。这里,内容指包含在小应用程序和或应用程序中的组件。...(AppletPanel.java:287) at java.lang.Thread.run(Thread.java:474) 当实例化一个组件的对等组件时,将调用addNotify()方法。...缺省时,AWT组件将实现它们的update方法以便擦除背景,然后调用paint()。这种技术在组件反复更新时,会导致许多闪烁。...如果信息的获取是在actionPerformed中实现的,则按钮仍保持按下的状态,直到对actionPerformed的调用返回,不仅按钮的弹起需要一段时间,而且一般来说,耗时较长的操作也不应当在事件方法中的执行...由于在事件派发线程上调用actionPerformed方法,所以,这是一个有效的操作。但是,在GetInfoThread中设置进度条是一个危险的做法,因为事件派发线程以外的线程将更新进度条。
实现对任意文件的切割,实现对切割后的文件的合并。 上次只写了特定目录下的文件切割与合并,有点遗憾, 这次,我写了一个图形界面来实现对文件的切割与合并。...文件切割: 用户可以自己选择需要切割的文件, 软件会自动将切割后的文件全部放入这目录下的一个新文件夹当中去的。...先看下程序的图片与说明吧, 完整的源代码在最后会贴上。 准备需要切割的文件: ? 程序的主界面: ? 选择要被切割的文件: ? 指定碎片文件的大小: ?...对比一下文件的创建时间: ? ?.../* '\'在java中是一个转义字符,所以需要用两个代表一个。
所谓互动的GUI,是指当上面事件发生时,会有相应的动作产生,比如: 改变颜色 改变窗口内容 弹出菜单 每个动作都针对一个事件。...我们将动作放在一个监听器(ActionListener)中,然后让监听器监视(某个图形对象)的事件。当事件发生时,监听器中的动作随之发生。 ?...在点击按钮之后,面板的颜色会改变,如下图: ? ...(这个例子改编自Core Java 2,Volume 1, Example 8-1) import javax.swing.*; import java.awt.event.*; import java.awt...这样做是为了让监听器能更方便的调用图形对象的成员,比如setBackground()方法。 ActionListener的actionPerformed()方法必须被覆盖。该方法包含了事件的对应动作。
显然,这种方式编写的程序可读性很差,而且在有些情况下,编码的难度也非常大。它的好处在于响应的事件不受限制,而不像Visual Basic这样的语言,将事件队列对程序员隐藏起来。...在各种情况下,使用ActionListener接口的方式都是一样的:actionPerformed方法(ActionListener中的唯一方法)将接收一个ActionEvent类型的对象作为参数。...例如,属性"source.text"将变为调用getSource和getText方法。 实例:改变观感 在默认情况下,Swing程序使用Metal观感,可以采用两种方式改变观感。...第一种方式是在Java安装的子目录jre/lib下有一个文件swing.properties。在这个文件中,将属性swing.defaultlaf设置为所希望的观感类名。...• 将这个对象传递给addWindowListener方法。 这里再次说明一下,使用匿名内部类的语法需要人们适应一段时间,但得到的是更加简炼的代码。
of variables declaration } 关键代码 4.运行结果截图 1. 2. 3. 4. 5. 5.遇到的问题 1)在SearchLook.java类中,用来放文本和标题的容器不知道用...也是一个容器类,这个框子可以嵌入几个玻璃窗,就是说Jframe可以将标签文本和按钮安放并处理,而且能实现最小化/最大化、改变大小、移动等功能特性。...而JPanel是一个容器类,相当于一大玻璃窗,可以放置文本框按钮等非容器组件。在结果展示中,我只需要一个JLabel和一个文本区域和一个按钮,所以我选择JPanel。...虽然功能简单,但是我也遇到了不少的问题,比如说第一次写监听器是无法运行,原因就是我调用的类不对。还有就是跳转到网页时遇到了很多困难,研究了很久才解决。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;...; import java.awt.event.ActionListener; import java.sql.ResultSet; import java.sql.SQLException; import...; import java.awt.event.ActionListener; import java.sql.ResultSet; import java.sql.SQLException; import...; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import...try { //在java文件中加载驱动类 Class.forName("com.mysql.cj.jdbc.Driver"); //连接数据库
java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date...这里他是如何能引用的呢? 我们将外围类对象的引用称为outer。(outer不是Java的关键字) 外围类的引用在构造器中设置。编译器修改了所有内部类的构造器。...Java语言规范对这个限制没有做任何解释。也可以允许有静态方法,但只能访问外部类的静态域 和方法。 局部内部类 局部内部类就是在方法内部定义的一个内部类。对外部世界是完全隐藏起来的。...调用start方法 2. 调用内部类TimePrinter的构造器,以便初始化对象listener 3....这里想要统计一下在排序过程中调用 compareTo 方法的次数 public void start2() { int counter = 0; Date[] dates
在Java开发中,java.util.TooManyListenersException是一个常见的异常,特别是在处理事件监听器时。...许多Java类(如JButton、JTextField等Swing组件)允许我们为其添加事件监听器(如ActionListener、MouseListener等),以便在特定事件发生时执行某些操作。...不理解监听器的限制,误以为可以为每个事件源注册多个监听器。 例如,在处理自定义事件时,某些自定义事件源类可能只支持一个监听器。当多次调用addXxxListener方法时,就会导致异常。...五、注意事项 在编写和管理事件监听器时,以下几点可以帮助您避免java.util.TooManyListenersException: 了解事件源的限制:在使用某个事件源时,先了解它是否支持多个监听器。...使用复合模式:如果需要执行多个动作,可以将这些动作整合到一个监听器中,而不是为每个动作注册单独的监听器。 事件模型设计:在设计自定义事件源时,明确监听器的数量限制,并在文档中注明,以避免误用。
我们知道在Java窗体中的组件,本身是不具备任何功能的,因此我们必须要给控件添加相应的事件监听,才能在界面中触发相应的事件处理,今天就来和大家分享一下在Java中常用的几个事件监听器。...在Java中常用的两种事件监听器是“动作事件监听器”和“焦点事件监听器”。接下来我和大家分别分享一下这两种常用的事件监听机制。...动作时间监听器 动作事件(ActionEvent)监听器是swing中比较常用的一种监听器,在Java窗体中很多事件都需要使用它来进行监听,如我们常见的按钮点击事件等,以下是动作事件监听器的接口和常见的事件源...在使用焦点事件监听器时,需要注意以下几点: 使用该监听器需要实现FocusListener接口 该接口中重写的focusLost()方法是在组件失去焦点时调用的。...该接口中重写的focusGained()方法是在组件获得焦点时调用的。 一般情况下,为事件源做监听事件应使用匿名内部类的形式。 觉得有用记得点赞关注哟!
Swing是由100%纯 Java实现的,不再依赖于本地平台的 GUI, 因此可以在所有平台上都保持相同的界面外观。...由于 Swing 的所有组件完全采用 Java 实现,不再调用本地平台的 GUI,所以导致 Swing 图形界面的显示速度要比 AWT 图形界面的显示速度慢一些,但相对于快速发展的硬件设施而言,这种微小的速度差别无妨大碍...Swing 组件不再依赖于本地平台 GUI ,因此不会产生与平台 相关的 bug 。 Swing 组件在各种平台上运行时可以保证具有相同的图形界面外观。...2.Swing在不同的平台上表现一致,并且有能力提供本地平台不支持的显示外观 。...; import java.awt.event.ActionListener; import java.awt.event.InputEvent; public class SwingComponentDemo
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URL; import...; import javax.swing.JOptionPane; import javax.swing.WindowConstants; /** * 1:按钮在Swing中是较为常见的组件,用于触发特定动作...* 这种初始化必须先获得图片路径,然后将路径实例化到Icon,然后在Button中加载出来 * 第二种方式是首先创建一个没有定义图标和文字的按钮对象,然后使用 * setIcon()方法为这个按钮定制一个图标...; import java.awt.event.ActionListener; import javax.swing.JCheckBox; import javax.swing.JFrame; import...* 如果希望将所有的单选按钮放置在按钮组中,需要实例化一个JRadioButton对象 * 并且用该对象调用add()方法添加单选按钮 * @author biexiansheng * */ public
大家好,又见面了,我是你们的朋友全栈君。 本项目为Java swing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考。...* 同时,不知道有哪些条件是第一条件,无法确定where关键字的所在,于是添加条件都用(and 条件) * 最后字符串转换成字符串时在将第一个and替换成where */ //定义一个图书类别名称...libraryInnerFrame=new LibraryInterFrame(); //显示图书内部窗体 libraryInnerFrame.setVisible(true); //将图书内部窗体显示到主界面桌面窗格中...; import javax.swing.ButtonGroup; import java.awt.event.ActionListener; import java.awt.event.ActionEvent...(127, 157, 185), 1, false)); // 在构造函数中调用图书类别下拉框初始化方法 fillBookTypeName(); // 在构造函数中初始化性别。
环境与工具: 系统环境:win10 开发工具:Eclipse IDE for Java Developers - 2020-09 数据库:MySQL5.6 学习目标: 一般大一结束的时候需要做一个类似一下内容的...---- 1、项目创建 使用eclipse直接创建一个java的空项目即可,唯一要注意的就是创建【java】的时候不是点击【class】而是创建【JFrame】,通过【JFrame】才能使用设计工具【Design...; import java.awt.EventQueue; import java.util.ArrayList; import java.util.Vector; import javax.swing.JFrame...; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class utest extends...javax.swing.JButton; import javax.swing.ButtonGroup; import java.awt.event.ActionListener; import java.awt.event.ActionEvent
import java.awt.Desktop; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import...; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; /** Java1.6.0...实现调用操作平台桌面系统 Desktop类将获得操作平台的桌面系统,以便使用系统默认浏览器、编辑器、邮件、打印等 一堆按钮摆在一起不大好看,懒的布局了,大家能看明白就成,打开文件、编辑文件和打印文件需要先按..."); try { // 将LookAndFeel设置成Windows样式 UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel...实现调用操作平台桌面系统 Desktop类将获得操作平台的桌面系统,以便使用系统默认浏览器、编辑器、邮件、打印等 一堆按钮摆在一起不大好看,懒的布局了,大家能看明白就成,打开文件、编辑文件和打印文件需要先按
Container c=getContentPane(); //将lable标签组件添加到内容窗格上 c.add(lable); //设置本窗口是否可见 setVisible(true...(int nmemonic) 设置按钮的键盘快捷键,所设置的快捷键在实际操作时需要结合 Alt 键进行实现 void setPressedIcon(Icon icon) 设置按下按钮时的图标 void...; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import...(int index) 在指定的位置插入分隔符 isMenuComponent(Component c) 如果在子菜单层次结构中存在指定的组件,则返回 true isPopupMenuVisible()...文件选择器JFileChooser package com.item.swings; import java.awt.event.ActionEvent; import java.awt.event.ActionListener
内部类 内部类既可以访问自身的数据域,也可以访问创建它的外部类对象的数据域 内部类对象总有一个隐式引用,它指向了创建它的外部类的对象 外部类的引用在内部类的构造方法中设置,不必手动设置,编译器会自动在构造方法中生成外部类引用...在外部类的作用域中,可以通过OuterClass.InnerClass引用内部类 只有静态内部类可以有静态方法 import javax.swing.*; import java.awt.*; import...import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener...import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener...为此,可以将内部类声明为static 只能在内部类中定义静态类。静态内部类的对象除了没有对生成它的外部类对象的引用特权外,与其他所有内部类完全一样。
package com.swing; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent...; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import...窗体时Swing组件中的对话框, * JDialog的功能就是是从一个窗体中弹出另一个窗体,就像是在使用浏览器时弹出的确定对话框一样 * * 2:JDialog窗体和JFrame窗体类似,在使用时也需要调用...getContentPane()方法将 * 窗体转化为容器,然后在容器中设置窗体的特性 * * 3:JDialog有五种构造方法,可以用来指定标题,窗体,和模式的对话框 * @author biexiansheng...; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener
许多Swing组件在其GUI中显示文本字符串。默认情况下,组件的文本以一种字体和颜色显示,并且全部显示在一行上。...可以分别通过调用组件的setFont和setForeground方法来确定组件文本的字体和颜色。...HTML格式可以在所有Swing按钮,菜单项,标签,工具提示和选项卡式窗格以及使用标签来呈现文本的树和表等组件中使用。...示例:HtmlDemo 名为HtmlDemo的应用程序允许您通过在标签上设置文本来使用HTML格式播放。您可以在HtmlDemo.java中找到此程序的完整代码。这是HtmlDemo示例的图片。...您可以在ButtonHtmlDemo.java中找到此程序的完整代码。这是ButtonHtmlDemo示例的图片。
这是我一个晚上做出来的,因为要去做其他的项目,所以只实现了对特定数据库的xml操作,不过我觉得这是学习xml挺不错的参考代码和文档 使用说明: 要先导入xml.sql数据库,可以用navicat...src frame包:存放java的界面类。...类; utils包:存放java的工具类。...java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener...; //调用工具包里的数据库连接方法 String url = "jdbc:mysql://localhost:3306/"+dbName+"?
这是我一个晚上做出来的,因为要去做其他的项目,所以只实现了对特定数据库的xml操作,不过我觉得这是学习xml挺不错的参考代码和文档 使用说明: 要先导入xml.sql数据库,可以用navicat导入,然后运行...java项目就可以,这是java+mysql数据库实现的程序,仅供参考互相学习 实验前准备: 新建一个Java工程,工程名称为xmlDemo,文件目录如图所示: src frame包:存放java的界面类...类; utils包:存放java的工具类。...java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener...; //调用工具包里的数据库连接方法 String url = "jdbc:mysql://localhost:3306/"+dbName+"?
领取专属 10元无门槛券
手把手带您无忧上云