给爱人的玫瑰花表白程序代码--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 效果图:



猜你喜欢

转载自blog.csdn.net/jintianhen1/article/details/19899169