Swing 设置无边框Frame
1 import java.awt.*; 2 import java.awt.event.*; 3 import javax.swing.*; 4 5 public class LogANA extends JFrame { 6 7 //背景图片bgImage 8 private ImageIcon bgImage = new ImageIcon("src/main/images/bg.jpg"); 9 //用于处理拖动事件,表示鼠标按下时的坐标,相对于JFrame 10 int xOld = 0; 11 int yOld = 0; 12 13 private ImageIcon bt1mage = new ImageIcon("src/main/images/mini.png"); 14 private ImageIcon bt1mage_enable = new ImageIcon("src/main/images/mini_enable.png"); 15 private ImageIcon bt2mage = new ImageIcon("src/main/images/close.png"); 16 private ImageIcon bt2mage_enable = new ImageIcon("src/main/images/close_enable.png"); 17 18 19 20 public LogANA() { 21 22 getContentPane().setLayout(new BorderLayout()); 23 this.setLocationRelativeTo(null); 24 this.setSize(bgImage.getIconWidth(), bgImage.getIconHeight()); 25 26 //处理拖动事件---去掉默认边框后,不能拖动了,具体实现如下 27 this.addMouseListener(new MouseAdapter() { 28 @Override 29 public void mousePressed(MouseEvent e) { 30 xOld = e.getX();//记录鼠标按下时的坐标 31 yOld = e.getY(); 32 } 33 }); 34 35 this.addMouseMotionListener(new MouseMotionAdapter() { 36 @Override 37 public void mouseDragged(MouseEvent e) { 38 int xOnScreen = e.getXOnScreen(); 39 int yOnScreen = e.getYOnScreen(); 40 int xx = xOnScreen - xOld; 41 int yy = yOnScreen - yOld; 42 LogANA.this.setLocation(xx, yy);//设置拖拽后,窗口的位置 43 } 44 }); 45 46 47 JPanel mainPanel = new JPanel(); 48 mainPanel.setBorder(BorderFactory.createLineBorder(Color.BLACK)); 49 mainPanel.setSize(bgImage.getIconWidth(), 100); 50 mainPanel.setLayout(new FlowLayout(FlowLayout.RIGHT, 10, 10)); 51 52 //关闭按钮 53 JButton miniBtn = new MyIconButton(bt1mage, bt1mage_enable, bt1mage, ""); 54 mainPanel.add(miniBtn); 55 56 //关闭按钮 57 JButton closeBtn = new MyIconButton(bt2mage, bt2mage_enable, bt2mage, ""); 58 mainPanel.add(closeBtn); 59 60 61 getContentPane().add(mainPanel, BorderLayout.CENTER); 62 63 closeBtn.addActionListener(new ActionListener() { 64 @Override 65 public void actionPerformed(ActionEvent e) { 66 System.exit(0); 67 } 68 }); 69 70 miniBtn.addActionListener(new ActionListener() { 71 @Override 72 public void actionPerformed(ActionEvent e) { 73 setExtendedState(JFrame.ICONIFIED);//最小化窗体 74 } 75 }); 76 77 setUndecorated(true); 78 setLocationRelativeTo(null); 79 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 80 } 81 82 public static void main(String[] args) { 83 LogANA j = new LogANA(); 84 j.setVisible(true); 85 } 86 87 }
转载于:https://www.cnblogs.com/aloneblog/p/9638355.html
Swing 设置无边框Frame相关推荐
- html5input输入框设置无边框_芯片充电两大改变,无看点的iPad8,上手体验发现并不简单!...
前不久,苹果召开了秋季新品发布会,但与以往不同的是,往年本该成为"配角"的iPad,没想到此次成为了主角之一,面对着外观不变仅升级芯片新发布的iPad 8,大家好像没有过多的激情, ...
- Qt 自定义界面(实现无边框、可移动)
设置窗口标志为无边框 this->setWindowFlags(Qt::FramelessWindowHint); 设置无边框之后,窗体是无法移动的,下面我们介绍两种方式来进行移动. 1. Qt ...
- PotPlayer 高逼格无边框的本地播放器
PotPlayer 安装以及设置 可以在官网下载安装包:http://potplayer.daum.net 然后安装--运行-- 嗯,是的,PotPlayer的官方皮肤界面就是这么样貌平平,一点都不逼 ...
- Qt实现半透明、无边框、可自由移动、不规则的窗体
目录 预期效果 功能要点 实现步骤 进一步扩展应用 预期效果 先出示效果图一张,如果不是读者需要的,读者可以看完效果图之后就关闭本网页啦. 功能要点 窗口无边框 可自由拖动 背景透明度自定义 边框可设 ...
- Qt 之 设置窗口边框的圆角
Qt技术学习班开始了,更多精彩.好玩的内容等着你,赶紧报名吧! 群号:655815739 Qt在设置窗口边框圆角时有两种方式,一种是设置样式,另一种是在paintEvent事件中绘制窗口.下面分别叙述 ...
- 【最终版】PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口
[最终版]PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化,添加内容窗口 文章目录 [最终版]PyQt5 自定义标题栏,实现无边框,最小化最大 ...
- PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化
PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变大小,仿百度网盘色调美化 文章目录 PyQt5 自定义标题栏,实现无边框,最小化最大化关闭事件,窗口拖动移动,窗口改变 ...
- Qt 暗夜黑主题教程(一) 创建带圆角和阴影的无边框窗口
创建项目 创建一个主窗口为 QWidget 类.带 UI样式表的项目.我的项目名叫 NightDark,窗口类名叫 Widget,刚入门的小白可以跟我命名保持一致方便学习,大佬自便.(不对,大佬怎么来 ...
- Qt中设置窗口边框的圆形
Qt在设置窗口边框圆角时有两种方式,一种是设置样式,另一种是在paintEvent事件中绘制窗口. 下面分别叙述用这两种方式来实现窗口边框圆角的效果. 一.使用setStyleSheet方法 this ...
- A7:Unity窗口化无边框模式
将下面代码复制进入脚本里,然后随便放到一个物体上即可实现窗口化启动无边框哦~ using System; using System.Collections; using System.Runtime. ...
最新文章
- Oracle truncate table 与 delete tabel的区别(转)
- android指定sqlite路径_Android:自定义Sqlite数据库路径
- 【学习笔记】MOOC 数学文化赏析 笔记【补档】
- TikZ绘图示例——尺规作图: 椭圆的近似画法
- hadoop: Operation category READ is not supported in state standby
- C#中获取路径的几种方法
- 在Python中如何优雅地处理PDF文件
- 2019UI设计岗位最常见的面试题
- 【情报热点】扒一扒FFIE做空报告中的调查方法和数据源……
- 风控决策引擎——决策流路径规划
- python定义公民类、变量有身份证号_Python趣解身份证号码的奥秘!
- Docker+VSCode 配置属于自己的深度学习炼丹炉
- crsctl命令详解
- 3种简单的键盘记录简单介绍
- 非易失性NV-SRAM简介
- php当前日期自动加一年,php 日期处理 当前时间加一年等
- 2ASK和2FSK调制解调仿真
- 深度学习-海康机器人visionmaster图像检索
- 傅盛提醒:撤离北京相当危险
- String、StringBuilder类超详细笔记
热门文章
- Spring源码之ApplicationContext(一)
- Fedora 14常规娱乐软件
- 软件类配置(一)【Windows下使用conda在虚拟环境中安装CUDA、CUDNN及Tensorflow】
- MLP多层感知机原理简介+代码详解
- 操作SSO对象模型时,异常“SSO_E_CANARY_VALIDATION_FAILURE”的处理
- css table 合并单元格
- 『ORACLE』Oracle GoldenGate搭建(11g)
- shall 基本语法
- Eclipse 安装 svn
- 如何关闭打开了多个activity的activity