资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java屏保代码 java刷屏代码

求助!java设计windows屏保问题!!

说明屏幕保护是自动切换的。可以调整下: 第一步:在桌面空白位置右击,选择“个性化”。 第二步:在个性化页面,选择“桌面背景”。 第三步:之后在“背景设置”页面中,勾选上想设置背景的图片(一张的话,不需要设置切换时间,多张的话,设置下切换...

创新互联专注于横山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供横山营销型网站建设,横山网站制作、横山网页设计、横山网站官网定制、成都微信小程序服务,打造横山网络公司原创品牌,更为您提供横山网站排名全网营销落地服务。

如何用java实现类似windows屏保

看看这个试试!

import java.text.*;

import java.awt.*;

import javax.swing.*;

import java.awt.geom.*;

import java.util.*;

import java.awt.event.*;

/**

*

*

*/

public class ScreenTest extends JPanel implements Runnable{

/** Creates a new instance of ScreenTest */

private String time;

private Rectangle2D rd;

private int x,y,a,b;//座标值和方向值

private int rgb=0;//颜色的值

private Color color;//字体的颜色

private int width,height;//屏幕的大小

public ScreenTest(int width,int height) {

this.width=width;

this.height=height;

initWindow();

}

private void initWindow(){

x=(int)(Math.random()*300);

y=(int)(Math.random()*500);

a=1;

b=1;

this.setBackground(Color.BLACK);

this.setOpaque(true);

rd=new Rectangle2D.Double(10,10,101,10);

color=Color.YELLOW;

}

private void doColor(){

rgb=(int)(Math.random()*0xFFFFFF);

color=new Color(rgb);

}

public void paintComponent(Graphics g){

g.setColor(Color.BLACK);

g.fillRect(0,0,width,height);

g.setColor(color);

g.setFont(new Font("楷书",Font.BOLD,150));

FontMetrics fm=g.getFontMetrics();

rd=fm.getStringBounds(time,g);

g.drawString(time,x,(int)(y+rd.getHeight()));

}

private void doTime(){

Calendar cal=Calendar.getInstance();

DateFormat df=DateFormat.getTimeInstance(DateFormat.MEDIUM);

Date date=cal.getTime();

time=df.format(date);

x+=a;

y+=b;

double width1=rd.getWidth();

double height1=rd.getHeight();

rd.setRect(x,y,width1,height1);

if(rd.intersectsLine(width,0,width,height)){

doColor();

a=-1;

}

else if(rd.intersectsLine(0,0,0,height)){

doColor();

a=1;

}

else if(rd.getY()=-80){

doColor();

b=1;

}

else if(rd.intersectsLine(0,height,width,height)){

doColor();

b=-1;

}

}

public void run(){

while(true){

try{

Thread.sleep(2);

doTime();

repaint();

}

catch(InterruptedException ie){

ie.printStackTrace();

}

}

}

public static void main(String arsg[]){

GraphicsDevice gd=GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();

DisplayMode dm=gd.getDisplayMode();

int width=dm.getWidth();

int height=dm.getHeight();

System.out.println("width="+width+"\nheight="+height);

ScreenTest st=new ScreenTest(width,height);

final JFrame jf=new JFrame();

jf.getContentPane().add(st,BorderLayout.CENTER);

jf.setUndecorated(true);

gd.setFullScreenWindow(jf);

new Thread(st).start();

jf.addKeyListener(new KeyAdapter(){

public void keyReleased(KeyEvent ke){

if(ke.getKeyCode()==KeyEvent.VK_NUMPAD0)

System.exit(0);

}

});

}

}

求一个简单的java屏保小程序,要求代码简单,易理解,要独创的,没有的,或者直接从网上荡的,直接别来!

protected void paint(Graphics g) {

// TODO Auto-generated method stub

g.setColor(255,0,0);

g.fillRect(0, 0, this.getWidth(), this.getHeight());

g.setColor(0,0, 255);

g.fillArc(x,y,d,d,0,360);

this.repaint();

}//画一个圆当做屏保图案坐标是x,y 大小是d

public void run() {

// TODO Auto-generated method stub

while(true){

if(x=0){

dir=ran.nextInt(8);

while(dir==0||dir==3||dir==5)

dir=ran.nextInt(8);

}else if(y=0){

dir=ran.nextInt(8);

while(dir==0||dir==1||dir==2)

dir=ran.nextInt(8);

}else if(x=w){

dir=ran.nextInt(8);

while(dir==2||dir==4||dir==7)

dir=ran.nextInt(8);

}else if(y=h){

dir=ran.nextInt(8);

while(dir==5||dir==6||dir==7)

dir=ran.nextInt(8);

}

switch(dir)

{

case 0: y-=5;x-=5; break;

case 1: y-=5; break;

case 2: y-=5;x+=5; break;

case 3: x-=5; break;

case 4: x+=5; break;

case 5: y+=5;x-=5; break;

case 6: y+=5; break;

case 7: y+=5;x+=5; break;

}

try {

Thread.currentThread().sleep(30);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

this.repaint();

}

//这个撞到墙壁小球就会随机变换方向 达到屏保的效果

给你个思路啊 自己填完整了他


文章标题:java屏保代码 java刷屏代码
文章来源:http://cdkjz.cn/article/dohsiec.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220