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版相关推荐

  1. java 内存 开发 经验_有一到五年开发经验的JAVA程序员需要掌握的知识与技能!...

    JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为什么他们能达到如此境界? ...

  2. java程序员_哪些书是不可错过的?Java程序员书单分享

    作为后浪程序员,我们要精通一门编程语言,最好的途径就是看书,而这个时候读什么书就变成了最关键的了,靠谱的书籍无疑可以让我们少走弯路事半功倍,今天就来给大家推荐一些Java工程师必备书籍. ​入门篇&l ...

  3. java webpack web项目_官方出品,微信小程序和 Web 端同构解决方案——kbone

    介绍 最近在琢磨一些小程序开发和移动web开发,偶然间在Github上看到了这样一个项目--kbone,一个致力于微信小程序和 Web 端同构的解决方案.微信小程序的底层模型和 Web 端不同,我们想 ...

  4. java不想出差_您不想错过的十大Java书籍

    java不想出差 我们通过阅读书籍并进行实验来学习. 因此,必须选择最佳的可用选项. 在本文中,我想与一些书分享我的经验,以及它们如何帮助您发展成为Java开发人员. 让我们从头开始,对于任何Java ...

  5. java模型给泛型_【一天一个基础系列】- java之泛型篇

    java 5以后,java引入了"参数化类型"的概念,允许程序在创建集合时指定集合元素的类型 java 7之前,如果使用带泛型的接口.类定义变量,那么调用构造器创建对象时构造器的后 ...

  6. java无ide编译_[转]无IDE时编译和运行Java

    本文由 ImportNew - Grey 翻译自 dzone.欢迎加入Java小组.转载请参见文章末尾的要求. 最近Java subreddit出现了一篇"在没有IDE的情况下编译Java包 ...

  7. java语言就业方向_四大就业方向彻底解决你学习Java语言编程的后顾之忧-生活感悟与随笔 -亦是美网络...

    前面的文章中已经给大家介绍了关于Java编程语言的优势.特点以及就业前景等内容,大家之所以这么热衷于Java编程学习,不仅是因为Java是编程市场上最为广泛流行的语言,大家更关心的是学习了Java编程 ...

  8. java rowmapper 通用实现_必经之路!各大网站力推Java代码优化:77案例+28技巧

    优秀的代码品质是程序员走向架构师神圣殿堂的必经之路!!! Java是目前的主流开发技术,如何更好地发挥其技术优势实现最佳资源配置和获得更高商业价值,一直是Java技术发展的趋势.然而Java体系庞大. ...

  9. java 字符串 字节数组_字符串到字节数组,字节数组到Java中的字符串

    java 字符串 字节数组 Today we will learn how to convert String to byte array in java. We will also learn ho ...

最新文章

  1. java的关键字与保留字
  2. 最简单红米系统一键激活xposed框架教程
  3. ITK:演示所有运算符
  4. Nginx负载均衡实现之用户手动选择与DNS轮询
  5. 数据库 sqlite 进阶
  6. chemdraw怎么连接两个结构_利用神经结构搜索构建快速准确轻量级的超分辨率网络...
  7. web安全---SSRF漏洞
  8. c#调用.exe程序
  9. java中的DAO设计模式
  10. RabbitMQ基础进阶教程
  11. R语言基于with函数对指定的协变量执行双样本t检验、t.test函数对不同分组对应的协变量的均值进行Welch双样本t检验分析、双独立样本t检验
  12. 极限的四则运算和洛必达法则的使用条件
  13. 织梦dedecmsTAG出现404页面的解决办法
  14. Buildroot 制作根文件系统
  15. matlab中的矩阵与向量运算
  16. 计算机里边找不到附件,win10系统开始菜单中找不到附件的具体教程
  17. 胆囊炎的病因是怎么引起的?
  18. 可口可乐、诺华、葛兰素史克、思爱普、OPPO、HTC等公司高管变动
  19. 设置背景透明 html5,webview的背景如何设置成透明的?
  20. 成为游戏开发者的一流技巧

热门文章

  1. 名帖339 张旭 草书《心经》
  2. Git中tag的用法及作用简介
  3. JAVA训练营第三周和第四周学习总结
  4. 机器学习-周志华-支持向量机的逻辑详解
  5. 【亲密关系】001 亲密关系的影响因素
  6. 什么是SSL证书它有什么作用?
  7. 打造泛音乐生态圈 全民K歌要开启中国音乐新世代
  8. 关闭windows正版验证
  9. API网关BODY传输的配置和调用详解
  10. nw.js 打开一个exe项目,再次点击快捷方式启动已经存在的exe到最前端 open file with existing app