「屏保动画算法java」屏保 动画

博主:adminadmin 2023-01-15 20:27:06 258

本篇文章给大家谈谈屏保动画算法java,以及屏保 动画对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何用java写一个屏保程序

看看这个试试!

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下现锁屏功能? Java SE

java写的软件运行后只要按ctrl+Alt+del就会看到.一下子就可以结束这个进程.这个功能可能是Windows平台才可能实现的,个人认为不能用java实现.

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

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

求一个简单的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和屏保 动画的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。