java玫瑰花代码怎么做?java玫瑰花代码实例介绍

阳光 2022-04-15 15:04:57 java常见问答 9243

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玫瑰花代码怎么做?java玫瑰花代码实例介绍.jpg

这样就完成了java玫瑰花代码,我们可以利用这样的技术对心爱的女孩进行表白,有没有觉得很浪费!如果你也感兴趣的话,可以行动起来!最后大家如果想要了解更多java实例知识,敬请关注奇Q工具网。

推荐阅读:

程序员面试是线上还是线下?程序员面试有哪些技巧?

springmvc怎么和ajax相互调用?springmvc如何进行错误处理?

java怎么操作excel?java操作excel的几种方式