[JAVA]③取消窗体标题栏和无边框效果,可鼠标移动窗体

原创 2017年09月06日 18:48:05
import java.awt.Color;
import java.awt.Point;
import java.awt.event.*;
import javax.swing.*;

/**
 * 
 * 取消窗口边框
 *
 */
public class NoneFrame extends JFrame {

	private static final long serialVersionUID = 1L;
	Point pressedPoint;

	public NoneFrame() {
		this.getContentPane().setBackground(new Color(195, 184, 162)); // 设置窗体背景颜色
		this.setUndecorated(true);// 取消窗体修饰效果
		this.getContentPane().setLayout(null);// 窗体使用绝对布局
		this.setLocationRelativeTo(null);// 窗体居中
		this.setAlwaysOnTop(true); //窗体最顶层显示

		JLabel l1 = new JLabel(); // 使用便签存放logo
		ImageIcon icon = new ImageIcon("Image/03.jpg");
		l1.setIcon(icon);
		l1.setBounds(25, 27, 122, 122);
		this.getContentPane().add(l1);// 加载进窗体

		JTextArea t = new JTextArea();
		t.setOpaque(false);// 设置文本背景为透明
		t.setEditable(false);//移除焦点
		t.setText("Eduardo:\n" + "我要飞得更高\n" + "周一至周日:09:00-22:00");
		t.setBounds(180, 28, 187, 154);
		this.getContentPane().add(t);

		JButton b = new JButton("关闭");
		b.addActionListener(new ActionListener() {// 设置按钮关闭动作事件处理
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}
		});
		b.setBounds(230, 165, 90, 30);
		this.getContentPane().add(b);
		/**
		 * 窗体鼠标移动事件
		 */
		this.addMouseListener(new MouseAdapter() {
			public void mousePressed(MouseEvent e) { //鼠标按下事件
				pressedPoint = e.getPoint(); //记录鼠标坐标
			}
		});
		this.addMouseMotionListener(new MouseMotionAdapter() {
			public void mouseDragged(MouseEvent e) { // 鼠标拖拽事件
				Point point = e.getPoint();// 获取当前坐标
				Point locationPoint = getLocation();// 获取窗体坐标
				int x = locationPoint.x + point.x - pressedPoint.x;// 计算移动后的新坐标
				int y = locationPoint.y + point.y - pressedPoint.y;
				setLocation(x, y);// 改变窗体位置
			}
		});
		
		this.setTitle("");
		this.setBounds(100, 100, 354, 206);
		this.setVisible(true);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public static void main(String[] args) {
		new NoneFrame();
	}
}

效果图:


版权声明:本文为博主原创文章,未经博主允许不得转载。

Java Swing JFrame实现全屏--无标题,无边框

实现方式一: import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.JFrame; public class ...
  • Monster1
  • Monster1
  • 2014年02月24日 22:29
  • 2268

JFrame实现无边框 及 实现拖动和Button关闭功能

JFrame实现无边框 及 实现拖动和Button关闭功能 在用Java的Swing编程做GUI图形用户界面时,可能有这样的需求,就是不想要外面的那个默认边框,那么如何实现JFrame去边框,以及去...
  • ljheee
  • ljheee
  • 2016年04月03日 20:57
  • 5998

java--swing--鼠标小手样式

XXX.setCursor(new Cursor(Cursor.HAND_CURSOR));
  • l1052102729
  • l1052102729
  • 2016年10月27日 09:21
  • 199

Java窗体透明化(无边框)

Java 窗体透明化(无边框)这几天我在写一个记事本程序,为了方便记事本记事,我准备将记事本界面透明化。于是上网查了一下资料。然后将透明化界面做了出来。可是在做的过程中我还是遇到了一些小小的问题,所以...
  • x1020915098
  • x1020915098
  • 2017年02月24日 16:01
  • 2826

java swing设置窗体无边框后鼠标还能拖动窗体的方法

import java.awt.EventQueue; import java.awt.Point; import java.awt.event.MouseAdapter; import jav...
  • W_Z_W_888
  • W_Z_W_888
  • 2017年07月24日 00:56
  • 1296

Java程序中取消窗口标题栏以及边框,并使窗口可以相应鼠标事件,被鼠标拖动;设置JFrame背景色

我们在编程的时候,如果嫌窗口自己的边框以及标题栏难看,我们可以取消它。 1、取消边框以及标题栏: 调用函数setUndecorated(true);即可   在我们取消窗口的边框以及标题栏以后...
  • zhanghuoding
  • zhanghuoding
  • 2015年03月03日 21:57
  • 2331

java SWT入门:自定义背景透明且可鼠标拖动改变尺寸和位置的Composite

下面的代码实现了一个透明可移动可改变尺寸的Composite窗体,如下图 鼠标点击窗口获取焦点,在获取焦点时会显示9个锚点用于改变窗口的位置和尺寸。ActiveRectangle.javapac...
  • 10km
  • 10km
  • 2016年12月01日 20:10
  • 1551

JAVA作业 窗口响应鼠标事件:鼠标在画布上画圆

题目:生成一个窗口响应鼠标事件,可以拖住鼠标在画布上画出蓝色的圆。鼠标按下和弹起的位置为圆的直径。 思想:编写框架类与画布类即可实现画板系列问题。 源代码: Circle.java packag...
  • Sugar_girl
  • Sugar_girl
  • 2016年12月03日 15:38
  • 1886

JFrame去掉标题栏后如何实现拖动

JFrame去掉标题栏后如何实现拖动
  • nlznlz
  • nlznlz
  • 2014年01月24日 15:56
  • 1596

JAVA学习笔记-------无边框窗口

在编写java程序时,由于java本身的窗口并不漂亮,因此很多时候我们需要通过重绘窗口来达到美观的效果                                          在重绘时,对于...
  • Free_Dou
  • Free_Dou
  • 2013年09月03日 14:48
  • 2016
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[JAVA]③取消窗体标题栏和无边框效果,可鼠标移动窗体
举报原因:
原因补充:

(最多只允许输入30个字)