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实例知识,敬请关注奇Q工具网。
推荐阅读: