怎样编写玫瑰花java程序?实例介绍

Java是现在比较流行的编程语言,这可不是吹的!很多企业以及做其他项目开发的时候,都会首选java,并且利用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.01 f);
        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 / 50 f);
            }
        }
        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 = 7517576070147366983 L;
    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 / 50 f);
                }
            }
            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程序?实例介绍.jpg

这样就完成了java编程玫瑰花的程序,怎么样!有没有觉得很神奇!如果你也会这个感兴趣的话,可以自己尝试一下哦!最后大家如果想要了解更多java实例知识,敬请关注奇Q工具网。

推荐阅读:

java线程怎么加锁?java线程生命周期是怎样的?

java开发网站用什么框架?为什么java开发要用框架?

java线程怎么做标记?java线程如何同步?