1 书写表白语句的frame(渐入功能)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
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" );
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 / 50f);
}
} catch (exception ex) {
ex.printstacktrace();
}
}
}
|
2 玫瑰花frame
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
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 / 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 效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/cgwcgw_/article/details/19899169