Java版给爱人表白的玫瑰花程序代码

所属分类: 软件编程 / java 阅读数: 20
收藏 0 赞 0 分享

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数据类型的规则的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring整合TimerTask实现定时任务调度

这篇文章主要介绍了Spring整合TimerTask实现定时任务调度的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解SpringMVC使用MultipartFile实现文件的上传

本篇文章主要介绍了SpringMVC使用MultipartFile实现文件的上传,本地的文件上传到资源服务器上,比较好的办法就是通过ftp上传。这里是结合SpringMVC+ftp的形式上传的,有兴趣的可以了解一下。
收藏 0 赞 0 分享

SpringMVC上传文件的三种实现方式

本篇文章主要介绍了SpringMVC上传文件的三种实现方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例

本篇文章主要介绍了微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

浅析Java中的继承与组合

本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
收藏 0 赞 0 分享

利用反射获取Java类中的静态变量名及变量值的简单实例

下面小编就为大家带来一篇利用反射获取Java类中的静态变量名及变量值的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java启动线程的3种方式对比分析

这篇文章主要为大家对比分析了java启动线程的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

SpringMVC上传和解析Excel方法

这篇文章主要介绍了SpringMVC上传和解析Excel方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

JAVA中String类与StringBuffer类的区别

这篇文章主要为大家详细介绍了JAVA中String类与StringBuffer类的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多