java玫瑰花代码如何写?java玫瑰花代码实操

阳光 2022-08-24 15:24:22 java常见问答 11299

Java在生活中应用的范围还是比较广的,我们可以利用java开发一些应用软件出来,也可以使用java进行表白,那java玫瑰花代码如何写?接下来我们就来给大家讲解一下java玫瑰花代码实操。

java玫瑰花代码.jpg

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工具网。

推荐阅读:

ios多线程面试题有哪些?ios多线程常见面试题

java培训哪家好?java培训要多少钱?

java培训课程有哪些?java培训课程多久能找工作?