`
Elvis_Wu
  • 浏览: 51980 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

用来遮字幕的程序

    博客分类:
  • JAVA
阅读更多
看日剧的时候,不想看到中文字幕。所以写了这个程序来遮住字幕。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;

public class BlackFrame extends JFrame implements MouseListener,
		MouseMotionListener {
	private static final long serialVersionUID = 892335173996481654L;
	private int x1;
	private int y1;
	private int x2;
	private int y2;
	private int direction;
	private static final int NONE = -1;
	private static final int TOP = 0;
	private static final int LEFT = 1;
	private static final int BOTTOM = 2;
	private static final int RIGHT = 3;

	public BlackFrame() {
		this.setSize(400, 60);
		this.setAlwaysOnTop(true);
		this.setUndecorated(true);
		this.setLayout(new BorderLayout());
		this.addMouseListener(this);
		this.addMouseMotionListener(this);
		this.getContentPane().setBackground(Color.BLACK);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}

	public void paint(Graphics g) {
		super.paint(g);
		Graphics2D g2 = (Graphics2D) g;
		g2.setColor(Color.BLACK);
		g2.fillRect(0, 0, this.getWidth(), this.getHeight());
	}

	public void mouseClicked(MouseEvent e) {
		// 鼠标右键
		if (e.getButton() == MouseEvent.BUTTON3) {
			System.exit(0);
		}
	}

	public void mouseEntered(MouseEvent e) {

	}

	public void mouseExited(MouseEvent e) {
	}

	public void mousePressed(MouseEvent e) {
		x1 = e.getX();
		y1 = e.getY();
		if (x1 < 4) {
			direction = LEFT;
		} else if (x1 > this.getWidth() - 4) {
			direction = RIGHT;
		} else if (y1 < 4) {
			direction = TOP;
		} else if (y1 > this.getHeight() - 4) {
			direction = BOTTOM;
		} else {
			direction = NONE;
		}
	}

	public void mouseReleased(MouseEvent e) {
		x2 = e.getX();
		y2 = e.getY();

	}

	public void mouseDragged(MouseEvent e) {
		x2 = e.getX();
		y2 = e.getY();
		if (direction == TOP) {
			this.setSize(this.getWidth(), this.getHeight() - y2);
			this.setLocation(this.getX(), this.getY() + y2);
		} else if (direction == LEFT) {
			this.setSize(this.getWidth() - x2, this.getHeight());
			this.setLocation(this.getX() + x2, this.getY());
		} else if (direction == BOTTOM) {
			this.setSize(this.getWidth(), this.getHeight() + (y2 - y1));
			y1 = y2;
			y1 = y2;
		} else if (direction == RIGHT) {
			this.setSize(this.getWidth() + (x2 - x1), this.getHeight());
			x1 = x2;
			y1 = y2;
		} else if (direction == NONE) {
			this.setLocation(this.getX() + (x2 - x1), this.getY() + (y2 - y1));
		}
	}

	public void mouseMoved(MouseEvent e) {
		int x = e.getX();
		int y = e.getY();
		if (x < 4 || x > this.getWidth() - 4) {
			this.setCursor(new Cursor(Cursor.W_RESIZE_CURSOR));
		} else if (y < 4 || y > this.getHeight() - 4) {
			this.setCursor(new Cursor(Cursor.N_RESIZE_CURSOR));
		} else {
			this.setCursor(null);
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		new BlackFrame().setVisible(true);
	}
分享到:
评论

相关推荐

    电影字幕遮挡工具 wyf5257282

    在这款电影字幕遮挡工具中,VB6.0被用来设计用户界面,包括设置遮挡参数、启动和停止遮挡等功能,并与多媒体播放器进行交互。 该工具的核心功能是遮挡字幕,这涉及到图形界面的处理。在VB6.0中,可以通过创建窗体...

    无边框的字幕显示程序

    描述中提到的“用来显示单词懂用途”,这可能意味着该程序特别适用于语言学习,尤其是在学习新词汇或短语时,可以实时显示单词并帮助用户理解和记忆。此外,“在电脑屏幕上显示”则表明这个程序是桌面应用程序,用户...

    非常好用的去视频水印工具

    去水印工具就是用来解决这个问题的,它可以分析视频帧,通过算法识别并移除水印部分,尽可能地保持画面的原始质量。 去水印的过程涉及到了图像处理和视频编解码的多个技术环节。首先,工具需要对视频进行分析,定位...

    IMG_20250415_160847.jpg

    IMG_20250415_160847.jpg

    big_dripleaf_stem.png

    big_dripleaf_stem

    计算机求职面试内容与技巧分享-针对应届毕业生的华为、腾讯技术岗位准备指南

    内容概要:本文详细介绍了针对国内顶级科技公司(如华为、腾讯)的计算机求职面试内容与技巧。文章首先概述了技术能力考察的重点领域,包括数据结构与算法、操作系统、计算机网络、数据库以及特定编程语言的深入知识点。接着阐述了项目经验和系统设计方面的考察标准,强调了STAR法则的应用和具体的设计案例。此外,还分别描述了两家公司在面试流程上的不同之处,提供了具体的面试技巧,如代码编写的注意事项、项目回答的数据支持方法、系统设计的关键考量因素以及反问面试官的有效问题。最后,给出了避坑指南和资源推荐,帮助求职者更好地准备面试。 适合人群:即将或计划进入华为、腾讯等大型科技企业工作的应届毕业生和技术人员。 使用场景及目标:①帮助求职者了解并准备好技术面试所需的知识点;②指导求职者如何有效地展示自己的项目经验;③提供系统设计题目的解答思路;④传授面试过程中需要注意的行为规范和沟通技巧。 阅读建议:由于文中涉及大量专业知识和技术细节,建议读者在阅读时结合自身背景有选择地进行重点复习,并利用提供的资源链接进一步深化理解。同时,在准备过程中要注意将理论知识与实际操作相结合,多做练习以增强信心。

    基于SpringBoot的课程设计选题管理系统(源码+数据库+万字文档+ppt)525

    基于SpringBoot的课程设计选题管理系统,系统包含三种角色:管理员、用户,教师主要功能如下。 【用户功能】 系统首页:浏览课程设计选题管理系统的信息。 个人中心:管理个人信息,查看选题进展和历史记录。 课题信息管理:浏览已有的课题信息。 选题信息管理:查看已选择的选题信息。 自拟课题管理:提出和管理个人自拟的课题,。 系统管理:修改个人密码。 【管理员功能】 系统首页:查看系统整体概况。 个人中心:管理个人信息。 学生管理:审核和管理注册学生用户的信息。 教师管理:审核和管理注册教师用户的信息。 课题信息管理:监管和管理系统中的课题信息,包括发布、编辑、删除等。 课题分类管理:管理课题的分类信息。 选题信息管理:查看学生已选题目的情况,包括审批和管理选题流程。 自拟课题管理:审批和管理学生提出的自拟课题。 系统管理:管理系统的基本设置。 【教师功能】 系统首页:查看系统。 个人中心:管理个人信息。 课题信息管理:浏览已有的课题信息。 课题分类管理:管理课题的分类信息。 选题信息管理:查看学生已选题目的情况。 自拟课题管理:提出和管理个人自拟的课题。 系统管理:校园资讯管理。

    橡胶履带牵引车辆改进设计(无极自动变速器方案设计).rar

    橡胶履带牵引车辆改进设计(无极自动变速器方案设计).rar

    1-剑桥大学发布GVAR数据集-社科数据.rar

    剑桥大学发布的GVAR(Global Vector Autoregressive)数据集是用于全球宏观经济分析的重要社科数据资源。该数据集基于GVAR模型开发,旨在量化宏观经济发展对金融机构的影响,并分析全球经济互动。GVAR模型通过处理高维系统中的相互作用,解决了“维度诅咒”问题,适用于国家、地区、行业等多层次的经济分析。数据集包含1979-2016年33个国家的季度数据,可用于冲击情景分析、预测及政策评估。配套的GVAR工具箱(GVAR Toolbox)提供了用户友好的界面,支持MATLAB和Excel操作,便于研究人员开展实际应用。该数据集为经济学、金融学及相关领域的学术研究和政策制定提供了有力支持。

    某汽车联合车间工艺布置图.zip

    某汽车联合车间工艺布置图.zip

    在stm32f407zgt上通过标准库实现w5500tcpserver和client

    在stm32f407zgt上通过标准库实现w5500tcpserver和client,可以ping通速率不快

    基于Python的微信跳一跳游戏程序.zip

    基于Python的微信跳一跳游戏程序

    white_concrete.png

    j

    ElectLines.py

    ElectLines.py

    【Python测试开发】算法能力测试卷:涵盖选择题、填空题、编程题及综合题的全面考核

    内容概要:本文档是一份针对Python测试开发工程师的算法能力测试卷,涵盖选择题、填空题、编程题和综合题四个部分。选择题考察Python基础知识、数据结构与算法、HTTP协议等;填空题涉及递归、排序、设计模式、HTTP请求方法、测试框架等具体知识点;编程题要求完成字符串反转、链表环检测、二叉树最大深度、两数之和及单元测试类的编写;综合题则包括设计自动化测试框架和实现测试报告生成器,旨在评估考生对Python编程和测试开发的全面掌握程度。 适合人群:具备Python编程基础,从事或计划从事测试开发工作的工程师。 使用场景及目标:①作为招聘流程中的技术考核工具;②帮助工程师自测和提升Python测试开发技能;③为企业内部培训提供标准化的评测标准。 阅读建议:此测试卷不仅考察语法和算法,更注重实际编程能力和解决问题的思路。建议考生在准备过程中多动手实践,熟悉常见的算法和数据结构,并掌握常用的测试框架和工具,如pytest、coverage等。同时,理解每个题目背后的设计意图,有助于更好地应对实际工作中的挑战。

    一级减速器成套CAD图【22CAD】.rar

    一级减速器成套CAD图【22CAD】.rar

    beetroots_stage2.png

    beetroots_stage2

    IMG_20250415_104619.jpg

    IMG_20250415_104619.jpg

    吴萌2262040206.zip

    吴萌2262040206.zip

    Android开发banner效果demo源码

    Android开发banner效果,用的是youthbanner的库,你们也可以去找原库demo

Global site tag (gtag.js) - Google Analytics