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

来源:互联网 发布:村招募.淘宝.com报名 编辑:程序博客网 时间:2024/04/28 19:54

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() {@Overridepublic 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() {@Overridepublic 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() {@Overridepublic 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 效果图:



0 0
原创粉丝点击