一直以来都不喜欢Java的GUI程序,界面丑陋,而且感觉功能也不强大,但是为了跨平台也没办法! 今天在完成一个JDialog,界面中有删除按钮,用户点击后删除特定的组件。...其实,自己Java Swing也是边学边用,搞了一下午,自己先使用removeAll()方法删除组件,然后实验了什么repaint()方法,validate()都不行。 ...网上也没搜到资料,最终瞎折腾了一下午找到了方法,但是对于其中的原理还是不太清楚。 ...(); this.contentPanel.setVisible(true); addComponent()方法是我自己写的动态添加组件的方法。...写出来与大家分享,如果有类似问题的可以参考下!
在应用系统开发中,菜单组件是经常使用的组件,菜单组件包括下拉式菜单和弹出式菜单。下拉式菜单包含若干个菜单项,每个菜单项在用户单击时引发一个动作,菜单可以看做一组层次化管理的命令集合。...12.3.1 JMenu 在Java中实现下拉式菜单,可以使用JMenu菜单组件。...JMenuBar组件是用来摆放JMenu的菜单栏组件,当创建很多JMenu组件后,需要通过JMenuBar组件将JMenu组件加入到窗体中。...12.3.1 JPopMenu 弹出式菜单,如果要在Java中实现此菜单,可以使用JPopupMenu菜单组件,先来了解一下它的常用方法,如表12.15所示。...12.3.1 JTable 表格也是Swing GUI编程中常用的组件,表格是一个由行、列组成的二维显示区域,Swing的JTable提供了对表格的支持,通过使用JTable创建表格是非常容易的,它的构造方法如表
为组件设置边框 很多情况下,我们常常喜欢给不同的组件设置边框,从而让界面的层次感更明显,swing中提供了Border对象来代表一个边框,下图是Border的继承体系图: 特殊的Border:...: 创建一个适用于该容器的组件(例如,在工具栏中创建一个工具按钮); 从 Action 对象中获得对应的属性来设置该组件(例如,通过 name 来设置文本,通过 lcon 来设置图标) ; 把Action...监听器注册到刚才创建的组件上; 案例: 使用JToolBar组件完成下图效果: 演示代码: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent..., Swing 已经为这些对话框添加了相应的组件,无须程序员手动添加组件 。...message:对话框上显示的信息,信息可以是字符串、组件、图片等 title:当前对话框的标题 optionType:当前对话框上显示的按钮类型:DEFAULT_OPTION、YES_NO_OPTION
; 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
; /** *1:Swing组件通常被称作"轻量级的组件"; * *2:窗体作为Swing应用程序中组件的承载体,处于非常重要的位置,Swing中常用的窗体包括 *JFrame,JDialog... * *3:JFrame窗体是一个容器,它是Swing程序中各个组件的载体,可以将JFrame看作是承载这些 *Swing组件的容器 * *4:读者大致应该有这样一个概念 *Swing组件的窗体通常和组件的容器相关...,所以在JFrame对象创建完成后, *需要调用getContentPane()方法将窗体转换为容器,然后在容器中添加组件 *或设置布局管理器,通常这个容器用来包含和显示组件,如果需要将组件添加到容器...* * *过程如下 *第一创建一个JFrame窗体对象 *第二通过getContentPane()方法将窗体转化为容器 *第三在容器中添加组件或设置布局管理器 *第四通常这个容器用来包含和显示组件...,然后可以设置容器的布局, package com.swing; import java.awt.Color; import java.awt.Container; import javax.swing.JFrame
应该有这样的概念,Swing组件的窗体通常与组件和容器相关,所以在JFrame对象创建完成后,需要调用方法将窗体转换为容器,然后在容器中添加组件或设置布局管理器,通常,这个容器用来包含和显示组件。...关于java文档,可自行下载: java文档 二.Swing常用组件 组件名称 定义 JButton 代表Swing按钮,按钮可以带一些图片或文字 JCheckBox 代表Swing中的复选框组件...JComboBox 代表Swing下拉列表框,可以在下拉显示区域显示多个选项 JFrame 代表Swing的框架类 JDialog 代表Swing版本的对话框 JLabel 代表Swing中的标签组件...Swing中的文本区域 JOptionPane 代表Swing中的一些对话框 每个组件都有很多种用法,建议查看java文档。...---- 四.JCheckBox| 代表Swing中的复选框组件 JCheckBox类有8中构造方法: 构造方法 解释 JCheckBox() 创建一个最初未选中的复选框按钮,该按钮没有文本,也没有图标
虽然自己不喜欢Java的GUI程序,但是工作原因,听从上级安排。 转入正题:这篇文章实现在桌面右下角显示一个进度条,显示当前程序运行的进度。而且鼠标能够拖动进度条。...有需要的童鞋,可以直接拷贝代码过去使用!...Java参考代码: import java.awt.Dimension; import java.awt.Insets; import java.awt.Toolkit; import java.awt.event.MouseEvent...; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import javax.swing.JDialog...; import javax.swing.JProgressBar; import javax.swing.SwingConstants; public class ProgressDialog extends
文章目录 一、使用 SwingBuilder 构建 Swing 窗口 二、完整代码示例 一、使用 SwingBuilder 构建 Swing 窗口 ---- 在 Groovy 中 , 可以使用 SwingBuilder...对象的 frame 方法中配置 ; Swing 窗口的内容在闭包中设置 ; // 配置 Swing 窗口 def swing = swingBuilder.frame( title:...窗口显示 , 即设置其可见 ; // 设置 Swing 窗口显示 swing.setVisible(true) 二、完整代码示例 ---- 完整代码示例 : import groovy.swing.SwingBuilder...import javax.swing.WindowConstants import java.awt.FlowLayout // 创建 Swing 构造器 def swingBuilder = new...窗口显示 swing.setVisible(true) 执行结果 : 执行上述程序 , 会弹出如下对话框 , 点击按钮 , 在命令行中会提示 : 点击按钮
Document是用于文本的容器,用作swing文本组件的模型。 此接口的目标是从非常简单的需求(纯文本文本字段)扩展到复杂需求(例如,HTML或XML文档)。...内容 在最简单的级别,文本可以建模为线性字符序列。 为了支持国际化,Swing文本模型使用unicode字符。 文本组件中显示的字符序列通常称为组件的内容 。...参考上图,假设左侧显示的组件改变了由蓝色矩形表示的文档对象。...该文档通过将DocumentEvent分派给两个组件视图并将UndoableEditEvent发送到监听逻辑来响应,该逻辑维护历史缓冲区。 现在假设右边显示的组件改变了同一个文档。...如果历史记录缓冲区再次回滚另一个更改,则会向两个视图发送另一个DocumentEvent,导致它们将未撤消的突变反映到文档中 - 即删除左侧组件的突变。
首先需要在工程中导包,需要用到JRE中的rt.jar包,我的JDK安装在C盘,目录如下:C:\Program Files\Java\jre7\lib\rt.jar。...我们用到的类是rt包中的com.sun.awt.AWTUtilities。...(遗憾的是导入该包后,程序就不具有跨平台性了) 程序代码如下: import java.awt.MouseInfo; import java.awt.Point; import java.awt.event.WindowAdapter...; import java.awt.event.WindowEvent; import javax.swing.JEditorPane; import javax.swing.JFrame; import...; import com.sun.awt.AWTUtilities; /** * @author zhenyu tan * 2014年4月2日 * 使用到了JDK1.6中新特性的透明窗体,所以必须要使用
Java Swing 提供了丰富的组件库,其中JTable、JTree和JTextArea用于展示数据和用户输入。本文将深入浅出地介绍这些组件,常见问题,易错点以及如何避免,同时提供代码示例。 1....JTable JTable用于展示二维数据,如表格形式的数据。它可以从数组、列表或模型中获取数据。...JTextArea JTextArea用于多行文本输入和显示。...结语 JTable、JTree和JTextArea是Swing中展示和处理数据的重要组件。理解它们的用法,注意常见的设计模式和错误,可以帮助你创建出功能丰富的用户界面。...在实践中,结合不同的布局管理器和组件,你可以构建出各种复杂的界面。
javax.swing.SwingConstants; import javax.swing.WindowConstants; /** * 1:在Swing中显示文本或提示信息的方法是使用标签,它支持文本字符串和图标...* 重点是标签含有文本字符串和图标 * * 2:标签可以显示一行只读文本,一个图像或带图像的文本,它并不能产生任何类型的事件 * 只是简单的显示文本和图片,但是可以使用标签的特性指定标签上文本的对齐方式...* * 4:Swing上面的图标可以放置在按钮,标签,等组件上面,用于描述组件的用途 * * 5:Swing中通过Icon接口来实现创建图表,可以在创建时给定图标的大小,颜色等特性 *...; /** * 1:Swing中的图标除了可以绘制以外,还可以使用某个特定的图片创建。...URL url=MyImageIcon.class.getResource("imageButton.jpg"); //java.lang.Class类中的getResource()方法可以获取资源文件的
游戏截图 飞机项目的所有类的截图 主窗体类 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...} int flyEnteredIndex=0; public void enterAction(){//10毫秒走一次 //创建敌人对象 //将敌人对象添加到FlyingObject中...main(String[] args) { new PlaySound("bgmusic.mp3", true).start(); } } 相关源码以及答辩屁屁踢已经上传至本人资源中,
选择组件 前面已经讲述了如何获取用户输入的文本。但是在很多情况下,可能更加愿意给用户几种选择而不是让用户在文本组件中输入数据。给一组按钮或者一列选项让用户做出选择。(这样也免去了检查错误的麻烦。)...未选”。...javax.swing.JComponent 1.2 • void setBorder(Border border) 设置这个组件的边界。...需要把这个方法的返回值转化为合适的类型,通常是String型。 例9-8给出了完整的代码。 注意:如果希望持久性地显示列表而不是下拉列表,就应该使用JList组件。...可以在微调控制器中自定义微调控制器模型显示任意的序列。在我们的示例程序中,有一个微调控制器,可以在字符串“meat”的排列中循环。
任何软件开发人员都可证实,把一个复杂的系统和以前未预见的设计组合起来不是一个简单的任务,把轻量组件合并到AWT中也不例外。...如果容器是同类的(即它包含的组件都是轻量组件或都是重量组件),则按组件被添加到容器中的顺序来确定其层序。第一个被添加到容器中的组件有最高的层序,即它在同一容器中所有其他组件的上面显示。...最后添加到容顺中的组件的层序最低,即它在同一个容器中的所有其他组件的下面显示。 如果容器是异类的(即它既有轻量组件又有重量组件),则事情要稍微复杂些。...从第1.2节“轻量组件与重量组件的比较”中,我们知道,轻量组件不是显示在它们自己的窗口中,而是显示在它们的重量容器的窗口中。所以,轻量组件的层序与重量容器的层序相同。...Swing提供了一个替代AWT重量滚动窗格的轻量组件——JScrollPane组件。由于JScrollPane是轻量的,所以任何添加到JScrollPane实例中的重量组件都将在这个滚动窗格之上显示。
Part1 前言 Swing是一个用于开发java图形界面程序的工具包,一直用着挺顺手的,美中不足就是没有好用的浏览器组件,只能引用第三方jar包,比如说JxBrowser、DJ Native Swing...javafx中的webview浏览器组件非常好用,又是jdk官方出品的,非常稳定。...1 JEditorPane这个组件是swing工具包中自带的,但是它能解析的html及css非常有限,N年没更新了,很多现在的网页,加载会出问题。...2 DJ Native Swing这个效果也不错,我捣鼓了半天,就是使用起来很麻烦,它的很多功能不符合我的预期,没办法在netbeans中拖拽使用 3 JxBrowser这个浏览器组件非常好用,但它是商业版的...javafx组件是Jdk1.8中自带的,经过不断测试,发现还是jdk官方自带的组件好用,非常稳定,没有任何报错,编写起来还简单。至此一直困扰我的swing浏览器组件编写问题完美解决!
大家好,又见面了,我是你们的朋友全栈君。 一开始还没导入idea的时候,单纯点击一个网页是有显示出来的,当我把这个带有单选框的网页放到idea的项目中去的时候,发现单选框没显示出来。...1.首先在确认js.css等东西有导入,和之前的网页也没有什么区别 2.网上查询之后, 解释:有些时候,你的有些表单元素可能是动态插入的。这时 form 模块 的自动化渲染是会对其失效的。...var form = layui.form; form.render(); }); 参考博客 https://www.jb51.net/article/170881.htm 但是加了上述的代码之后...报了一个错误信息 OTS parsing error: incorrect file size in WOFF header 4.接着我就上网上查这个信息 原因:网上说是由于使用 maven 的...resource 插件开启 filtering 功能后,会破坏有二进制内容的文件。
public static void main(String args[]) { try { for (javax.swing.UIManager.LookAndFeelInfo...info : javax.swing.UIManager.getInstalledLookAndFeels()) { if ("Nimbus".equals(info.getName...())) { javax.swing.UIManager.setLookAndFeel(info.getClassName());...(MainGroupLayoutUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); } catch (javax.swing.UnsupportedLookAndFeelException...有几种自带的LookAndFeel有: Metal Nimbus
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窗体类似,在使用时也需要调用...这点非常重要,不然无法显示 //设置容器的结构的特性 jf.setTitle("这是窗体转化为容器"); jf.setSize(200,200);//设置容器的大小... jl.setHorizontalAlignment(JLabel.CENTER);//将标签中的文字置于标签中间的位置 container.add(jl);//将标签添加到容器中
大家好,又见面了,我是你们的朋友全栈君。...java显示乱码解决方法: 1、utf8解决JSP中文乱码问题 一般说来在每个页面的开始处,加入: charset=UTF-8的作用是指定JSP向客户端输出的编码方式为“UTF-8”; pageEncoding...=”UTF-8″,为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效; request.setCharacterEncoding(“UTF-8”);是对请求进行了中文编码。...“message”); String str=new String(msg.getBytes(“ISO-8859-1″),”UTF-8”); out.println(st); 2、Tomcat 5.5中文乱码...3、xmlHttpRequest中文问题 页面jsp用的GBK编码 代码: 更多java知识请关注java基础教程栏目。
领取专属 10元无门槛券
手把手带您无忧上云