JAVA模仿屏保

这也是以前写的一个东西,全屏下运行,很像是WINDOWS下的屏保,会显示时钟,并且会随机自然地碰撞.全屏状态下如需退出,请按小键盘上的0退出.
点击下载可执行的JAR文件,JDK1.5以上
import  java.text. * ;
import  java.awt. * ;
import  javax.swing. * ;
import  java.awt.geom. * ;
import  java.util. * ;
import  java.awt.event. * ;
/*
 * ScreenTest.java
 *
 * Created on 2006年7月6日, 下午5:23
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 
*/

/**
 *
 * 
@author  lbf
 
*/
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 );
                } 
        });
    }
    
}
【华为OD统一考试(B卷)】经典屏保,JAVA 题解 | 华为OD机试考题 输入样例表示初始状态下,Logo 的下边缘再有 5 像素就碰到屏幕下边缘了,5s 后,会与屏幕碰撞,碰撞后,斜向 45° 弹出,又经过 5s 后,Logo 与起始位置相比,水平移动了 10 像素,垂直方向回到了原来的高度。输入样例表示 Logo 初始位置在屏幕的左上角点,10s 后,Logo 在 X 和 Y 方向都移动了 10 像素,因此输出 10 10。第一个数字表示 t 秒后,Logo 左上角点的 X 坐标第二个数字表示 t 秒后,Logo 左上角点的 Y 坐标。3、t 的最大值为 100000。 阅读详情

相关推荐

有趣的java屏保

NULL 博文链接:https://zhangyulong.iteye.com/blog/1005692

如何使用java程序实现windows锁屏

//本文调用一个通过调用操作系统的一个命令来实现,在xp上测试通过public class LockWindows {    public static void main(String [] args) throws Exception {     Runtime.getRuntime().exec("RunDll32.exe user32.dll,LockWorkStation");   

花果山 5874

StateStarScreensaver(Java动态屏保)

一个用java写的全屏星空屏保,星星下落的动态屏保。。。

JAVA模拟实现Windows屏保/实现JFrame窗口透明到桌面

在这个程序的实现中最主要有以下几点: 实现JFrame窗口透明到桌面启用多线程实现屏保重画设置鼠标监听,可以实现鼠标一动就退出屏保 实现了以上两点,代码如下: 窗口类 import javax.swing.JFrame; import com.sun.awt.AWTUtilities;//实现窗口透明很重要的一个包 public class MyJFrame ex

qq_35102150的博客 2504

java屏保代码

Windows桌面屏保代码,是java类的一个小屏保代码。雪花状的

Java模拟穿越星空屏保(含源码)

Java模拟穿越星空屏保 鼠标单击一下星空旋转双击退出 用JFrame,修改的一本书上的一个程序

java如何编写屏幕保护程序_编写屏幕保护程序

1 #include 2 #include 3 #include 45 bool GetScreenSaverRunning(bool &isRunning)6 {7 bool result = false;8 try9 {10 BOOL BRun =TRUE;11 BOOL ret = SystemParametersInfoW(SPI_G...

weixin_33609020的博客 644

java桌面下雪屏保源码(含注释)

java桌面下雪屏保,和正规桌面下雪屏保几乎一样。 内含 源码、详细注释、生成的jar文件 不放心的可先下生成后的jar(免费的,我发的),看看效果。 jar版地址: https://download.youkuaiyun.com/download/f12end/3560821 (从桌面下雪1.0开始写,到现在修改到2.1版本了,真不容易啊)

java 制作 屏保

package com.sun.play; import javax.swing.*; import java.applet.Applet; import java.applet.AudioClip; import java.awt.*; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java....

古德湖的福禄 872

TC3xx芯片中断配置避坑指南:从AUTOSAR Davinci配置到SRN地址计算的完整流程

本文详细解析了英飞凌TC3xx芯片的中断配置流程,从AUTOSAR Davinci工具链到硬件调试的全链路指南。重点介绍了中断路由(IR)模块、服务请求节点(SRN)和中断控制单元(ICU)的配置技巧,帮助开发者避开常见陷阱,优化中断性能。

weixin_30628801的博客 411

EDA与机器学习融合:智能优化芯片设计流程的工程实践

机器学习作为数据驱动的核心技术,通过从历史数据中学习复杂模式,实现对系统行为的预测与优化。其原理在于构建模型,将输入特征映射到目标变量,从而揭示数据背后的内在规律。在工程领域,这项技术的核心价值在于能够将专家经验转化为可量化、可复用的智能模型,显著提升自动化水平与决策效率。电子设计自动化(EDA)是芯片设计的关键支撑,传统流程高度依赖人工试错,面临参数空间巨大、优化周期长等挑战。将机器学习应用于EDA,能够构建预测模型来预估设计性能(PPA),或通过代理模型加速设计空间探索,实现智能化的设计辅助与优化。本文

weixin_30411239的博客 684

用java写一个静态屏保

写一个静态屏保(java) 这是最后效果o!大家可以放其他的图片,我放的是肖战!!! 首先,建立一个窗口设置属性。 其次插入图片,设置循环就完成啦! 具体请看以下代码 package ddd;//此处建立的package文件名就是ddd import java.awt.Color;//引入java.awt文件里边的Color文件 import java.awt.Graphics; import...

weixin_43282757的博客 800

ESP32学习,驱动LED点阵屏,SD卡播放GIF动图

搬运就可以实现效果,如果有不足,请批评指正。下步该学一下如何文章上视频了,老是截图不方便展示效果。

u011625956的博客 1868

java屏保_JAVA模仿屏保

importjava.text.*;importjava.awt.*;importjavax.swing.*;importjava.awt.geom.*;importjava.util.*;importjava.awt.event.*;/**ScreenTest.java**Createdon2006年7月6日,下午5:23**Tochangethistemplate,choo...

weixin_35339622的博客 223

别再死磕NFP了!用Python+遗传算法搞定异形件自动排版(附完整代码)

本文介绍了如何利用Python和遗传算法实现异形件智能排版,解决传统NFP方法计算复杂的问题。通过Shapely库处理几何运算和DEAP库搭建遗传算法框架,结合模拟退火策略避免局部最优,显著提升材料利用率。附完整代码和优化技巧,适用于服装裁剪、金属加工等行业。

weixin_26965807的博客 236

caverdock如何使用,一文给你多方案教学!

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1388

java如何编写屏幕保护程序_JAVA模仿屏保

importjava.text.*;importjava.awt.*;importjavax.swing.*;importjava.awt.geom.*;importjava.util.*;importjava.awt.event.*;/**ScreenTest.java**Createdon2006年7月6日,下午5:23**Tochangethistemplate,choo...

weixin_36125599的博客 360

【C++/嵌入式梳理】bootloader

【C++/嵌入式笔试面试八股】bootloader

Hi 1210

线程动画屏保小球碰撞c语言,线程小动画之屏保--模仿小球碰撞反弹(一)

相信大家都对屏幕保护中的小球碰撞动画深有印象吧,许多色彩缤纷的小球在屏幕上滚动,碰撞,然后一直重复如此过程......现在就让我们自己尝试去做一下吧,或许你做的比它的要更好呦!不必说,最重要也是最先弄的,自然是要产生小球啦,因此就要先创建一个球的线程类。这里先放上一些关于线程创建的知识,有助于大家巩固记忆啦。线程的创建有两种方式,分别为继承Thread类(已经实现了Runnable接口)与实现Ru...

weixin_28809949的博客 769

网络变更:APIC 节点替换

Fabric Name,Controller ID,TEP Address Pool 等信息必须相同;如果故障设备是 APIC1 还需要重新配置管理密码。此过程可能需要 10 分钟左右,在此期间目标 APIC 可能在 Available/Unavailable 状态翻滚。APIC 获取 TEP 地址后,进入 fully-fit。通过 CLI 以及配置的密码登录目标 APIC。

m0_54931486的博客 320

YOLOv11改进 | Conv篇 | 2024最新轻量化自适应提取模块LAE助力边缘设备部署计算(附代码 + 修改教程 + 运行教程)

本文给大家带来的一个改进机制是最新由LSM-YOLO提出的轻量化自适应特征提取(Lightweight Adaptive Extraction, LAE)模块,其是LSM-YOLO模型中的关键模块,旨在进行多尺度特征提取,同时降低计算成本。LAE通过以下方式实现更有效的特征提取:多尺度特征提取、自适应特征提取。LAE模块可以在不增加额外参数的情况下提高了模型对ROI区域的检测性能。​欢迎大家订阅我的专栏一起学习YOLO!YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍。

Snu77的博客 4055

线程小动画之屏保--模仿小球碰撞反弹(一)

       相信大家都对屏幕保护中的小球碰撞动画深有印象吧,许多色彩缤纷的小球在屏幕上滚动,碰撞,然后一直重复如此过程......现在就让我们自己尝试去做一下吧,或许你做的比它的要更好呦!        不必说,最重要也是最先弄的,自然是要产生小球啦,因此就要先创建一个球的线程类。这里先放上一些关于线程创建的知识,有助于大家巩固记忆啦。   线程的创建有两种方式,分别为继承Thread类...

海王子1994 1658

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

线程小动画之屏保--模仿小球碰撞反弹(二)

之前已经能产生许多小球,但是会发现小球和小球接触后,其中一个球的形状就消失了一部分,没有起到碰撞的效果,所以接下来就继续完成操作。   考虑到碰撞情况,无法就是考虑两球球心间距离与它们半径之和的比较关系,前者小于后者就发生碰撞,反之则没有发生。当然如果只有一个球,自然不会发生碰撞的哈! //分析碰撞情况 for(int i=0;i&lt;al.size();i++) { ...

海王子1994 567

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

我用java写了个壁纸软件

用Java做的一个壁纸软件,每天自动更新壁纸,可以选择壁纸类型,刷新频率等等,欢迎加入开发贡献代码,做我们开发人自己的壁纸,让我们的壁纸不再有烦人的广告!!!

百块富翁的博客 3648

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java费纳波切数列,面试有感

泛型的研究 T和?http://www.cnblogs.com/lwbqqyumidi/p/3837629.htmlstring,stringbuffer,stringBuilder区别:http://blog.youkuaiyun.com/rmn190/article/details/1492013arraycoy 深copy浅copy。protect权限是否可以改变:JAVA中四种访问权限 private...

weixin_39833290的博客 283

那些年我们开发的应用程序

这里所要谈到的应用程序主要是由Java,Python等语言,并且在Windows环境下开发和实现。 所有的UI设计,有些来自灵感,有些来自生活。总之是在自己无意识状态下面画出来的。 weather weather应用程序是由java语言开发的一款天气预报App,天气数据来自于Yahoo数据库。weather应用程序支持22个国家的城市天气预报信息。 mp3_v2 ...

abxlep7702的博客 125
上一篇: JAVA截屏程序(第三版)
下一篇: JAVA截屏程序(第四版)
hadeslbf
博客等级 码龄20年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值