Java Swing(GUI)图形界面
Java GUI / Swing
基于Java Swing的桌面应用程序的开发技术
Swing感觉未来用的不太多,先学到这里,根据后续个人需要再更新
-2019-08-25
森-Js
521
展开
-
Java-swing树状图(JTree)
登录界面主界面添加界面:代码:1、af-swing为自己定义的布局(封装了),下方提供下载链接.....2、数据来源于place.txt,这个可以随意更改(一行代表一个数据)3、用到的技术:JTree,背景图片的绘制,文件的读取以及自定义解析4、功能,左上角当前用户的显示,左下角当前时间的显示及实时更新,添加功能,查询功能,城市信息的显示功能,数据...原创 2019-12-02 12:04:22 · 2475 阅读 · 3 评论 -
Swing-实现拖拽支持
目录一、创建拖拽源二、创建拖放目标三、处理拖拽数据四、图片的拖拽一、创建拖拽源DragSource : 拖放操作的源窗口DropTarget :拖放操作的目标窗口Transferable : 传递物,传递的数据创建拖放源,仅窗口支持拖放操作1、创建DragSource2、创建Transferable 3、开始拖拽操作startDrag核心...原创 2019-08-23 16:44:36 · 2022 阅读 · 0 评论 -
Java-向导型应用界面
通过按钮来实现页面的转换以及信息的存储代码(自定义布局类太多了,就不上传了,需要的话要我)1页:package my.pages;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.Font;import javax....原创 2019-08-22 17:01:47 · 573 阅读 · 0 评论 -
Java-管理型应用界面
只是界面的实现,功能另需自己添加项目组成:设计思路:1、界面由两部分组成,左侧的JList列表以及右侧的对应显示面板2、左侧的设计主要在leftmenu包下面:LeftMenuItem代表列表项的显示信息(包括名字、图标、命令...0)LeftMenuCellRenderer主要是自定义列表项的显示等3、右侧面板的设计:主要在views类下面这里设计了三...原创 2019-08-21 16:20:06 · 575 阅读 · 3 评论 -
Java-颜色选择器
弹出式窗口实现颜色选择操作6大类:js.swing为自定义swing类:JsLabel;实现对弹出式窗口内容的设计JsPopup;实现是否自动关闭弹出式窗口JsPopupMouseGrabber;实现对弹出式窗口的一系列事件监听操作(包括按钮事件处理等等)JsPopupPanel;实现弹出式窗口的弹出+隐藏操作ColorPicke...原创 2019-08-19 10:15:48 · 913 阅读 · 0 评论 -
Java-屏幕截图工具
下方为所剪切的图片,点击保存,可以选择一个“.jpg”图片作为保存路径设计思路:1、主面板的绘制,就是上方面板2、点击“屏幕截图”时的监听器设置2.1、首先隐藏主面板,对后方的屏幕页面进行图片截取操作2.2、主要设计以及绘制在CaptureFrame ()类,注释已加package my;import java.awt.Color;import java...原创 2019-08-16 17:51:13 · 1404 阅读 · 3 评论 -
Java-推箱子
设计思路:1、地图的绘制2、添加角色3、移动箱子4、游戏状态显示5、人推箱子6、背景图片的设计*添加了右键点击事件可以随意更换背景图片其他功能随后更新代码:四个类:package my;import java.awt.AWTEvent;import java.awt.Image;import java.awt.event.AWTE...原创 2019-08-13 20:39:54 · 1457 阅读 · 0 评论 -
Swing-事件处理机制详解
一、事件处理机制:-当鼠标点在B3时,B3有机会处理B2次之B1最后如果B3处理了事件,则B2,B1均无机会**SWing事件处理机制1、子控件最有机会处理2、如果子控件未处理,则父控件才有机会二、鼠标事件定义鼠标事件的三种方法:1、监听器addXXXListener() //第1种方式 private class MyPanel ex...原创 2019-08-12 18:14:40 · 2822 阅读 · 3 评论 -
Java-轮播图
设计思路:1、定时器的设计2、图片指示器的设计绘制3、图片尺寸比例适中绘制code:package my;/*图片面板绘制*/import java.awt.BasicStroke;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java....原创 2019-08-11 20:37:19 · 4628 阅读 · 6 评论 -
Swing-钟表
设计思路:1、‘开始’监听器的设计定义一个swing 下的Timer对象,每隔一段时间,触发一次timer的监听器(重新绘制钟表面板),即令钟表可以走动2、钟表的设计难点在于钟表角度的绘制,在这里为钟表加上了一个辐射渐变背景图详情见代码注释:3、‘停止’按钮的设计即timer.stop();三个类:1、钟表面板设计类2、注面板设计类3、m...原创 2019-08-10 10:29:51 · 557 阅读 · 0 评论 -
Swing-定时器
点击开始按钮,实现显示当前时间package my2;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.te...原创 2019-08-09 16:18:25 · 566 阅读 · 0 评论 -
Java实现对压缩文件的解压(图形界面)
核心代码:读取指定压缩文件信息package my;import java.util.ArrayList;import java.util.Enumeration;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipFile;public class ZipInfo...原创 2019-08-08 10:36:28 · 1038 阅读 · 4 评论 -
Java实现对压缩文件的解压
Java实现对压缩文件的解压详情见代码解析:package my;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.nio.c...原创 2019-08-07 16:16:44 · 197 阅读 · 0 评论 -
Swing-短任务(文件的复制02)
点击开始按钮,弹出对话框,并进行复制,复制完成后,对话框消失设计方法:1、对按钮添加点击事件2、点击事件中做两件事:①通过start()使得线程处于就绪状态 ②弹出对话框3、线程在获得CPU时间片后通过run()开始运行4、run()里面需要实现两种方法:①文件的复制 ②对话框的消失查看代码...原创 2019-08-06 16:12:19 · 133 阅读 · 0 评论 -
Swing-短任务(文件的复制01)
文件的复制,两种方法:NO.1:使用InputSream+OutputStream.....package my;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import...原创 2019-08-06 10:51:46 · 164 阅读 · 0 评论 -
Java实现-倒计时
package my;import javax.swing.SwingUtilities;public class ButtonThread extends Thread{ @Override public void run() { int n=5; while(n>0) { //更新界面,显示倒计时 final Stri...原创 2019-08-05 18:06:54 · 5906 阅读 · 0 评论 -
Swing-界面线程与工作线程(更新界面)
有时候需要将工作线程里的进度和结果更新显示到界面上。原则:不要在工作线程里直接更新控件原因:界面控件的方法一般是线程不安全的,在工作线程里操作界面一般是不安全的解决办法:自己创建一个事件插到事件循环里面SwingUtilities.invokeLater(new Runnable() { @Override public void run...原创 2019-08-05 17:24:24 · 1281 阅读 · 0 评论 -
Swing-界面线程与工作线程(创建工作线程)
工作线程:*Work Thread如果事件处理较长时间,应当创建一个线程来处理这个任务。此线程称为“工作线程”*界面线程:一直运行,处理界面事件*工作线程:工作完成后退出*线程的特点:独立、并发code:ButtonThread:package my;public class ButtonThread extends Thread{ @O...原创 2019-08-05 16:12:54 · 1063 阅读 · 0 评论 -
Swing-界面线程与工作线程(界面卡顿)
现象:当点击‘确定’按钮时,9秒钟内界面的任何功能等都无法进行,甚至关闭窗口原则:任何事件处理,都必须尽快完成附:如果某个事件处理大于0.3秒,就会有卡顿之感code:package my;import java.awt.FlowLayout;import java.awt.event.MouseAdapter;import java.awt....原创 2019-08-05 15:35:39 · 1466 阅读 · 0 评论 -
Swing-图表(扇形图的点击处理)
当点击哪一块是,边框高亮显示核心代码:package my;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Rectangle;import java.awt.Renderin...原创 2019-08-03 20:50:25 · 445 阅读 · 0 评论 -
Swing-图表(扇形图的绘制)
设计思路:1、创建图表类(各个属性)package my;import java.awt.Color;import java.awt.geom.Arc2D;public class Part { double amount; //该块区域所代表的数量 int degree; //根据amount经计算得到 Color color; //图例颜色 ...原创 2019-08-03 16:42:38 · 2925 阅读 · 1 评论 -
Swing-自定义控件(开关绘制)
设计思路:1、开关按钮绘制原理:对绘制的图像面板添加鼠标点击事件,每点击一次,切换一次显示状态2、布局(自定义布局...........)MyFrame:package Swing0501;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.FlowLayou...原创 2019-08-03 09:47:35 · 2092 阅读 · 0 评论 -
Swing-不规则形状绘制(五角星的绘制)
MyPanel:package swing0401;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Rectangle;import java...原创 2019-08-02 10:05:39 · 1278 阅读 · 0 评论 -
Swing-不规则形状绘制(直线与弧拼接)
核心代码:package swing0401;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Rectangle;import java.aw...原创 2019-08-01 20:32:32 · 346 阅读 · 0 评论 -
Swing-不规则形状绘制(圆弧)
核心代码:package swing0401;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Rectangle;import java....原创 2019-08-01 20:07:37 · 1430 阅读 · 1 评论 -
Swing-不规则形状绘制(举例)
不规则形状的绘制主要运用Paint2D类:moveTo:绘制起点lineTo:点之间连线注意g2d.draw(outline)与g2d.fill(outline);的区别g2d.draw(outline):边框g2d.fill(outline):填充package swing0401;import java.awt.Color;import java.a...原创 2019-08-01 17:07:42 · 1028 阅读 · 0 评论 -
Swing-绘制日历
四个类设计思路:1、星期(1-7)的绘制2、5行7列(日期)的绘制3、当前日期彩色框的绘制4、日期的查询5、两个面板周边彩色框的绘制******************************************************************************************************************...原创 2019-08-01 16:01:18 · 944 阅读 · 0 评论 -
Swing-文本的绘制(文本的定位)
package my;import java.awt.Color;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Rectangle;import java.awt.RenderingHint...原创 2019-07-30 10:58:27 · 851 阅读 · 0 评论 -
Swing-文本的绘制(设置字体)
一、字体的基本设置示例1:创建Font对象Font font = new Font("宋体", Font.ITALIC, 30);g2d.setFont(font);//示例2:基于旧的字体创建新的Font对象Font newFont=g2d.getFont().deriveFont(60f);g2d.setFont(newFont);//示例3:...原创 2019-07-29 20:31:14 · 5600 阅读 · 0 评论 -
Swing-文本的绘制
package my;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.RenderingHints;import javax.swing.JPanel;public class MyPanel ...原创 2019-07-29 19:15:04 · 423 阅读 · 0 评论 -
Swing-彩色边框
package my;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.LinearGradientPaint;import java.awt.Paint;import java.awt...原创 2019-07-29 15:40:45 · 314 阅读 · 0 评论 -
Swing-高级绘制(设置剪切区域)
设置剪裁区域Clippackage my;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Rectangle;import java.awt.Shape;import java.awt.geom.Ellipse2D;import java.awt.image.Buff...原创 2019-07-29 11:23:58 · 557 阅读 · 0 评论 -
Swing-高级绘制(设置填充Paint)
设置填充PaintMyPanel:package my;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.LinearGradientPaint;import java.awt.Paint;import java.awt.RadialGra...原创 2019-07-28 20:32:34 · 1226 阅读 · 0 评论 -
JSON-5/6(保存JSON到文件 )
注:一般来说,JSON是用于网络传输h或者存储到数据库中,很少用于保存文件一、JSON存储到文件无论是JSONObject,还是JSONArray ,都可以先转成String再存储到文件。这个过程已经封装到JsJSON.toFile()里。package json04;import java.io.File;import org.json.JSONObjec...原创 2019-07-26 20:45:49 · 3133 阅读 · 0 评论 -
JSON-4/6(JSON的生成与管理 )
一、生成JSONtest01: //生成JSONObject public static void test01() { JSONObject j1=new JSONObject(); j1.put("name", "郭少"); j1.put("id", 998856); j1.put("sex", true); j1.put("phone", "15199978...原创 2019-07-26 20:44:29 · 152 阅读 · 0 评论 -
JSON-3/6(JSON 语法格式)
1、JSON Object用JSON可以表示Object信息,以一对大括号包围,里面可以有多个字段。例如:{ "name": "郭少", "id": 1208439, "sex": true, "phone": "13810012345"}语法要点:-以大括号包围-字段名称要加双引号-字段的值可以为S...原创 2019-07-26 20:43:10 · 131 阅读 · 0 评论 -
JSON-2/6(使用JSON API)
示例:import org.json.JSONObject;public class Test { public static void main(String[] args) { // TODO Auto-generated method stub JSONObject jobj=new JSONObject(); jobj.put("id", 2019001);...原创 2019-07-26 20:42:40 · 303 阅读 · 0 评论 -
Java-学生信息管理系统
整理前八节:上所有代码一、图标: 二、jar文件需要json处理jar包,可以联系我发给你或者https://github.com/stleary/JSON-java 下载三、代码APPDemo:package swing03; import java.awt.Containe...原创 2019-07-26 20:41:21 · 689 阅读 · 0 评论 -
Swing-JTable(查询记录)8/9
在原有的功能上添加搜索功能/*按照名字查询大致思路:获取用户的输入信息, 若为空,则恢复原始数据,并且恢复按钮功能 不为空: 若第一次查询,需将信息备份 否则,将查询到的信息显示在JTable private void onSearch() { // 获取用...原创 2019-07-26 17:02:00 · 732 阅读 · 0 评论 -
Swing-JTable(修改记录)7/9
*在工具栏添加*编辑按钮以及图标*,外加一个监听器用于编辑操作*设计监听器里面的方法(重点) 设计思路:当点击编辑按钮时,触发onEdit这个方法 onEdit:*首先获取选中的行//获取选中的行的索引int[] rows=table.getSelectedRows();if(rows.length==0)return; //获取选中...原创 2019-07-26 16:00:08 · 445 阅读 · 0 评论