java表白程序玫瑰花_给爱人的玫瑰花表白程序代码--Java版
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版相关推荐
- java 内存 开发 经验_有一到五年开发经验的JAVA程序员需要掌握的知识与技能!...
JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为什么他们能达到如此境界? ...
- java程序员_哪些书是不可错过的?Java程序员书单分享
作为后浪程序员,我们要精通一门编程语言,最好的途径就是看书,而这个时候读什么书就变成了最关键的了,靠谱的书籍无疑可以让我们少走弯路事半功倍,今天就来给大家推荐一些Java工程师必备书籍. 入门篇&l ...
- java webpack web项目_官方出品,微信小程序和 Web 端同构解决方案——kbone
介绍 最近在琢磨一些小程序开发和移动web开发,偶然间在Github上看到了这样一个项目--kbone,一个致力于微信小程序和 Web 端同构的解决方案.微信小程序的底层模型和 Web 端不同,我们想 ...
- java不想出差_您不想错过的十大Java书籍
java不想出差 我们通过阅读书籍并进行实验来学习. 因此,必须选择最佳的可用选项. 在本文中,我想与一些书分享我的经验,以及它们如何帮助您发展成为Java开发人员. 让我们从头开始,对于任何Java ...
- java模型给泛型_【一天一个基础系列】- java之泛型篇
java 5以后,java引入了"参数化类型"的概念,允许程序在创建集合时指定集合元素的类型 java 7之前,如果使用带泛型的接口.类定义变量,那么调用构造器创建对象时构造器的后 ...
- java无ide编译_[转]无IDE时编译和运行Java
本文由 ImportNew - Grey 翻译自 dzone.欢迎加入Java小组.转载请参见文章末尾的要求. 最近Java subreddit出现了一篇"在没有IDE的情况下编译Java包 ...
- java语言就业方向_四大就业方向彻底解决你学习Java语言编程的后顾之忧-生活感悟与随笔
-亦是美网络...
前面的文章中已经给大家介绍了关于Java编程语言的优势.特点以及就业前景等内容,大家之所以这么热衷于Java编程学习,不仅是因为Java是编程市场上最为广泛流行的语言,大家更关心的是学习了Java编程 ...
- java rowmapper 通用实现_必经之路!各大网站力推Java代码优化:77案例+28技巧
优秀的代码品质是程序员走向架构师神圣殿堂的必经之路!!! Java是目前的主流开发技术,如何更好地发挥其技术优势实现最佳资源配置和获得更高商业价值,一直是Java技术发展的趋势.然而Java体系庞大. ...
- java 字符串 字节数组_字符串到字节数组,字节数组到Java中的字符串
java 字符串 字节数组 Today we will learn how to convert String to byte array in java. We will also learn ho ...
最新文章
- java的关键字与保留字
- 最简单红米系统一键激活xposed框架教程
- ITK:演示所有运算符
- Nginx负载均衡实现之用户手动选择与DNS轮询
- 数据库 sqlite 进阶
- chemdraw怎么连接两个结构_利用神经结构搜索构建快速准确轻量级的超分辨率网络...
- web安全---SSRF漏洞
- c#调用.exe程序
- java中的DAO设计模式
- RabbitMQ基础进阶教程
- R语言基于with函数对指定的协变量执行双样本t检验、t.test函数对不同分组对应的协变量的均值进行Welch双样本t检验分析、双独立样本t检验
- 极限的四则运算和洛必达法则的使用条件
- 织梦dedecmsTAG出现404页面的解决办法
- Buildroot 制作根文件系统
- matlab中的矩阵与向量运算
- 计算机里边找不到附件,win10系统开始菜单中找不到附件的具体教程
- 胆囊炎的病因是怎么引起的?
- 可口可乐、诺华、葛兰素史克、思爱普、OPPO、HTC等公司高管变动
- 设置背景透明 html5,webview的背景如何设置成透明的?
- 成为游戏开发者的一流技巧