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.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-600"); ImageIcon icon = new ImageIcon(url); background = icon.getImage() ; //  background = ImageIO.read(new File("D:\\workspace\\maven\\blessing\\src\\shen\\b.jpg-600")); 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 / 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() { @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-600")); //  background = ImageIO.read(new File("D:\\workspace\\maven\\blessing\\src\\shen\\b.jpg-600")); URL url=Panel.class.getResource("c.jpg-600"); ImageIcon icon = new ImageIcon(url); background = icon.getImage() ; //  background = ImageIO.read(new File("D:\\workspace\\maven\\blessing\\src\\shen\\b.jpg-600")); 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 / 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 效果图:


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持html中文网。

以上就是Java版给爱人表白的玫瑰花程序代码的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java