1 书写表白语句的frame(渐入功能)

package com.wanju.blessing;

import java.awt.Color;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.net.URL;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JPanel;

import shen.Panel;

import com.sun.awt.AWTUtilities;

public class ShowFrame extends JFrame {

public ShowFrame() {

this.setSize(600, 500);

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = this.getSize();

this.setUndecorated(true);

this.setLocation((screenSize.width - frameSize.width) / 2,

(screenSize.height - frameSize.height) / 2);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container container = this.getContentPane();

//AWTUtilities.setWindowOpaque(this, true);

AWTUtilities.setWindowOpacity(this, 0.01f);

container.add(new MyPanel(this));

this.setBackground(null);

this.setVisible(true);

new FadeOut(this).start();

}

public static void main(String[] args) {

ShowFrame showFrame = new ShowFrame();

}

}

class MyPanel extends JPanel{

private Image background;

JFrame frame;

public MyPanel(final JFrame frame){

this.frame = frame;

try {

URL url=Panel.class.getResource("a.jpg");

ImageIcon icon = new ImageIcon(url);

background = icon.getImage() ;

//background = ImageIO.read(new File("D:\workspace\maven\blessing\src\shen\b.jpg"));

this.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

super.mouseClicked(e);

//new FadeOut(MyPanel.this.frame).start();

frame.setVisible(false);

frame.dispose();

}

});

} catch (Exception e) {

e.printStackTrace();

}

}

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.drawImage(background,0,0,666,666,null);

g.setColor(Color.red);

g.setFont(new Font("", Font.BOLD, 15));

g.drawString("祝愿宝儿永远幸福的像花儿一样", 60, 280);

}

}

class FadeOut extends Thread {

private JFrame wnd;

public FadeOut(JFrame wnd) {

this.wnd = wnd;

}

public void run() {

try {

for (int i = 0; i < 50; i++) {

Thread.sleep(50);

AWTUtilities.setWindowOpacity(wnd, i / 50f);

}

} catch (Exception ex) {

ex.printStackTrace();

}

}

}

2 玫瑰花frame

package shen;

import java.awt.EventQueue;

import javax.swing.JFrame;

import com.sun.awt.AWTUtilities;

public class Frame extends JFrame {

private static final long serialVersionUID = 7517576070147366983L;

public Frame() {

setTitle("PNG透明窗体");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setUndecorated(true);

setSize(666, 666);

setLocationRelativeTo(null);

AWTUtilities.setWindowOpaque(this, false);

setContentPane(new Panel(this));

addMouseListener(new MoveWindow(this));

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

new Frame().setVisible(true);

}

});

}

}

3

package shen;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Point;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.net.URL;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JPanel;

import com.sun.awt.AWTUtilities;

import shen.Panel.FadeOut;

public class MoveWindow extends MouseAdapter {

private Point last;

private JFrame frame;

public MoveWindow(JFrame frame) {

this.frame = frame;

}

public void mousePressed(MouseEvent e) {

last = e.getLocationOnScreen();

}

public void mouseReleased(MouseEvent e) {

Point point = e.getLocationOnScreen();

Point fPoint = frame.getLocation();

frame.setLocation(fPoint.x + point.x - last.x, fPoint.y + point.y

- last.y);

last = point;

}

}

4

package shen;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.net.URL;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JPanel;

import com.sun.awt.AWTUtilities;

import com.wanju.blessing.ShowFrame;

public class Panel extends JPanel{

private Image background;

JFrame frame = null;

public JFrame getFrame() {

return frame;

}

public void setFrame(JFrame frame) {

this.frame = frame;

}

public Panel(JFrame frame){

this.frame = frame;

try {

//background = ImageIO.read(new File("D:\workspace\maven\blessing\src\shen\window.png"));

//background = ImageIO.read(new File("D:\workspace\maven\blessing\src\shen\b.jpg"));

URL url=Panel.class.getResource("c.jpg");

ImageIcon icon = new ImageIcon(url);

background = icon.getImage() ;

//background = ImageIO.read(new File("D:\workspace\maven\blessing\src\shen\b.jpg"));

this.addMouseListener(new MouseAdapter() {

@Override

public void mouseClicked(MouseEvent e) {

super.mouseClicked(e);

new FadeOut(Panel.this.frame).start();

}

});

} catch (Exception e) {

e.printStackTrace();

}

}

class FadeOut extends Thread {

private JFrame wnd;

public FadeOut(JFrame wnd) {

this.wnd = wnd;

}

public void run() {

try {

for (int i = 50; i > 0; i--) {

Thread.sleep(50);

AWTUtilities.setWindowOpacity(wnd, i / 50f);

}

} catch (Exception ex) {

ex.printStackTrace();

}

wnd.setVisible(false);

wnd.dispose();

new ShowFrame();

}

}

protected void paintComponent(Graphics g) {

super.paintComponent(g);

g.drawImage(background,0,0,666,666,null);

}

}

5 效果图:

java玫瑰花代码_给爱人的玫瑰花表白程序代码--Java版-Go语言中文社区相关推荐

  1. rust的矿坑_转: Rust中的Pin详解 【Rust语言中文社区】

    Rust中的Pin详解 原创 automanyang Rust语言中文社区 昨天 https://mp.weixin.qq.com/s/PjctbPbyR5OeaqTHZdB5uQ 相关概念 Pin ...

  2. 简笔彩色圣诞树的python代码_Python绘图,圣诞树,花,爱心 | Turtle篇-Go语言中文社区...

    1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle. ...

  3. go java rsa_RSA加密——go语言版-Go语言中文社区

    源起 在做rsa加密验签的过程中遇到了一些问题,在对整个rsa体系不够了解的情况下花了很多的时间去尝试,但总是各种不通.各种头疼. 在尝试和搜索方案的过程中,不断的发现原来平时对rsa的了解是如此的少 ...

  4. java gc机制新区域旧屋_Java 内存回收机制——GC机制-Go语言中文社区

    一.Java GC 概念说明 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾 ...

  5. java poi 读取 word图片_Java Poi 根据文字内容 插入 word 图片-Go语言中文社区

    需求描述 如下图,我需要在word里根据一个图片的名字,将名字替换成该图片(公章) 思路: 用POI遍历每一个表格里的每一行的每一个单元格,如果遇到我自己定义的"&章",则 ...

  6. python编程小案例_用Python3编程写第一个小案例!-Go语言中文社区

    用Python3编程第一步! 今天博主跟大家聊一聊如何使用Python3编程第一步!!不喜勿喷,如有建议欢迎补充.讨论! Come on! 在前面的几篇文章中我们已经学习了一些Python3 的基本语 ...

  7. kubernetes中mysql乱码_在kubernetes中部署tomcat与mysql集群-Go语言中文社区

    在kubernetes中部署tomcat与mysql集群之前必须要有以下这些基础: 1. 已安装.配置kubernetes 2. 集群中有tomcat与mysql容器镜像 3. 有docker基础 具 ...

  8. java蓝桥杯dfs_第七届 蓝桥杯决赛 Java B组 打靶 解题报告(DFS,回溯,全排列)-Go语言中文社区...

    题目: 打靶 小明参加X星球的打靶比赛. 比赛使用电子感应计分系统.其中有一局,小明得了96分. 这局小明共打了6发子弹,没有脱靶. 但望远镜看过去,只有3个弹孔. 显然,有些子弹准确地穿过了前边的弹 ...

  9. java+classpath的理解_Java配置path和classpath的含义详解-Go语言中文社区

    ​ 新入门java的同学经常会问我path和classpath是什么意思,尤其会问classpath是什么意思,为什么只配置一个.就可以.下面以windows系统为例,做一个系统讲解.包含超详细实验数 ...

最新文章

  1. 二叉树的遍历(非递归方式)
  2. mysql插入另一个表中数据_MySql中把一个表的数据插入到另一个表中的实现
  3. 快速傅里叶变换(FFT)——按频率抽取DIF的基
  4. ZEROC究竟是何方神圣? Leader-us 大神来的回答 Leader-us mycat的发起者
  5. 鸿蒙第三代手机,荣耀Magic 3最新确认,鸿蒙系统+双6400万,最期待的荣耀来了
  6. .h文件包含后显示类型_C语言中#include只能包含.h文件吗?
  7. linux文件描述符有什么用,linux上的文件描述符3有什么特别之处?
  8. 19.为什么要用异步框架,它解决什么问题?
  9. 简单循迹小车实验心得_你真的了解循迹小车吗,小宇教你如何制作属于自己的循迹小车...
  10. FFmpeg将MP4视频切割成ts文件
  11. MapGIS完美转ArcGIS ShapeFile攻略
  12. windows的消息传递--消息盒子
  13. pgm概率图模型_概率图形模型(PGM)算法| 机器学习
  14. 阿里云MaxCompute 2019-7月刊
  15. english_搭配
  16. AI人工智能外呼机器人测试项目经历
  17. 双翌视觉对位软件MasterAlign放入SY_License.Dat加密锁加密文件
  18. 2022最新中高阶Android面试题总结,Android面试题库
  19. 第一章: 微型计算机组成结构
  20. python列表的方法详解

热门文章

  1. 面向垂直行业的5G核心网关键技术演进分析
  2. 北京大学工业工程系主任侍乐媛:工业大数据支撑企业智能决策
  3. 库克建议想要侧载的用户购买安卓手机,苹果这是飘了?
  4. unknown error: Element <div data-v-41264f4a=““ class点击标签会返回新页面数据的获取对应数据的正确做法
  5. google各国网址
  6. FFT与DFT的关系及应用
  7. 未来手机的九大新功能
  8. python两个数相加程序_python程序两个数字相加
  9. vue实现购物车(简单)
  10. [开心学PHP100天(七)]精讲PHP构造函数:父亲和儿子的恩恩怨怨