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

 更新时间:2018年05月04日 14:17:50   作者:瓜瓜东西  
这篇文章主要讲解了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 效果图:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring Cloud  Eureka服务治理的实现

    Spring Cloud Eureka服务治理的实现

    服务治理是微服务框架中最为核心和基础的模块,它主要是用来实现各个微服务实例的自动化注册与发现。这篇文章主要介绍了Spring Cloud Eureka服务治理的实现,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 关于IDEA使用jsp可以访问页面转换为html弹出页面为404的问题

    关于IDEA使用jsp可以访问页面转换为html弹出页面为404的问题

    这篇文章主要介绍了关于IDEA使用jsp可以访问页面转换为html弹出页面为404的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Maven+oracle+SSM搭建简单项目的方法

    Maven+oracle+SSM搭建简单项目的方法

    本篇文章主要介绍了Maven+oracle+SSM搭建简单项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 详解Java单例模式中的饿汉和懒汉模式

    详解Java单例模式中的饿汉和懒汉模式

    这篇文章主要介绍了详解Java单例模式中的饿汉和懒汉模式,单例模式中有两种模式一种是饿汉模式,一种是懒汉模式,那么他们有什么区别呢,需要的朋友可以参考下本文
    2023-04-04
  • Java 自动安装校验TLS/SSL证书

    Java 自动安装校验TLS/SSL证书

    这篇文章主要介绍了Java 自动安装校验TLS/SSL证书的示例,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-10-10
  • java maven进阶教学

    java maven进阶教学

    这篇文章主要介绍了Maven进阶教程的相关资料,文中讲解非常细致,帮助大家开始学习maven,感兴趣的朋友可以了解下,希望能够给你带来帮助
    2021-08-08
  • 初识Java基础之数据类型与运算符

    初识Java基础之数据类型与运算符

    Java是一种强类型语言,每个变量都必须声明其数据类型,下面这篇文章主要给大家介绍了关于Java基础之数据类型与运算符的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-10-10
  • MyBatis-Plus实现连表查询的方法实例

    MyBatis-Plus实现连表查询的方法实例

    这篇文章主要给大家介绍了关于MyBatis-Plus实现连表查询的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • Jenkins安装以及邮件配置详解

    Jenkins安装以及邮件配置详解

    这篇文章主要介绍了Jenkins安装以及邮件配置相关问题,并通过图文给大家做了详细讲解步骤,需要的朋友参考下吧。
    2017-12-12
  • Java 反射机制原理与用法详解

    Java 反射机制原理与用法详解

    这篇文章主要介绍了Java 反射机制原理与用法,结合实例形式详细分析了Java反射机制的相关概念、原理、基本使用方法及操作注意事项,需要的朋友可以参考下
    2019-11-11

最新评论