使 JLabel 淡出

2023-12-20

我正在编写一个应用程序,该应用程序执行某些任务并在成功完成任务时通知用户。为了通知用户我正在使用 jlabel。我希望这个 jlabel 显示消息并在一段时间后消失。我使用 netbeans 作为我的 IDE。

这是我的课程的架构。

摘要,GUI代码

abstract class Admin extends JFrame{
  protected static jlabel lbl_message= new jlabel("some text");
  // other functions and variables

  abstarct protected void performButtonClickAction();

}

用于实现抽象函数并提供其他功能的类。

final class AdminActionPerformer extends Admin{
  final public void performButtonClickAction(){
     // code for doin the task
     if(task is successful){
         new Thread(new Fader(Admin.lbl_message)).start();
     }
  }

 public static void main(String[] args) {
    new AdminActionPerformer().setVisible(true);
 }

}

用于制作 Jlabel 后退的线程

class Fader implements Runnable{
  javax.swing.JLabel label;
  Color c;

  Fader(javax.swing.JLabel label){
    this.label=label;
    c=label.getBackground();
  }

  public void run() {
    int alpha=label.getGraphics().getColor().getAlpha()-5;
    while(alpha>0){
        System.out.println(alpha);
        alpha-=25;
        label.getGraphics().setColor(new Color(c.getRed(), c.getGreen(), c.getBlue(), alpha));
        label.repaint();
        try {
            Thread.sleep(50);
        } catch (InterruptedException ex) {
            Logger.getLogger(Fader.class.getName()).log(Level.SEVERE, null, ex);
        }
     }
  }
}

但标签并没有消失。我在这里做错了什么?谢谢 :)

附:我已将 JLabel opaque 设置为 true。那是问题吗?我想最初显示标签及其背景颜色,然后使其消失。


如果您要做很​​多效果,您可能会使用摇摆动画库,例如Trident http://kenai.com/projects/trident/pages/Home。以下是淡出标签的方法。

   JLabel label = ....;
   Timeline timeline = new Timeline(label);
   timeline.addPropertyToInterpolate("background", label.getBackground(), 
     new Color(label.getBackground().getRGB(), true));
   timeline.addPropertyToInterpolate("foreground", label.getForeground(), 
      new Color(label.getForeground().getRGB(), true));
   timeline.play();

编辑:更新以更改前景色/背景色,这是标签上的属性。但是,对于生产代码,我会将标签包装在一个可以将 alpha 应用于其子级的容器中,然后您可以以组件中立的方式淡入/淡出组件。其中一个动画套件中有一个用于此目的的组件,但我现在找不到它......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使 JLabel 淡出 的相关文章

  • 是否可以在 Spring Batch 中结合分区和并行步骤?

    我只是想知道它在 Spring Batch 中可行吗 Step1Step2 流程 gt 流程1 流程2 流程3 Step3 其中每个flow1 gt 划分为 5 个 GridSizeflow2 gt 划分为 5 个 GridSizeflow
  • 任务“:app:dexDebug”执行失败

    我目前正在处理我的项目 我决定将我的 Android Studio 更新到新版本 但在我导入项目后 它显示如下错误 Information Gradle tasks app assembleDebug app preBuild UP TO
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • 将链接对象转换为流或集合

    我想迭代堆栈跟踪 堆栈跟踪由可抛出对象组成 其 getCause 返回下一个可抛出对象 最后一次调用 getCause 返回 null 示例 a gt b gt null 我尝试使用 Stream iterable 这会导致 NullPoi
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • 如何解决 onEditCommit 事件上的类型不匹配错误?

    我在 Fxml 中使用 onEditCommit 事件在用户编辑数据后检索数据 FXML 代码
  • Google Inbox 类似 RecyclerView 项目打开动画

    目前 我正在尝试实现 Google Inbox 例如RecyclerView行为 我对电子邮件打开动画很好奇 我的问题是 该怎么做 我的意思是 他们使用了哪种方法 他们用过吗ItemAnimator dispatchChangeStarti
  • Android - 除了普通 SSL 证书之外还验证自签名证书

    我有一个通过 SSL 调用 Web 服务的 Android 应用程序 在生产中 我们将拥有由受信任的 CA 签名的普通 SSL 证书 但是 我们需要能够支持自签名证书 由我们自己的 CA 签名 我已经成功实施了接受自签名证书的建议解决方案
  • PropertySources 中各种源的优先级

    Spring引入了新的注释 PropertySources对于所有标记为的类 Configuration since 4 0 需要不同的 PropertySource作为论证 PropertySources PropertySource c
  • Java 变量的作用域

    我不明白为什么这段代码的输出是10 package uno public class A int x 10 A int x 12 new B public static void main String args int x 11 new
  • 如何将 XMP XML 块序列化为现有的 JPEG 图像?

    我有许多 JPEG 图像 其中包含损坏的 XMP XML 块 我可以轻松修复这些块 但我不确定如何将 固定 数据写回图像文件 我目前正在使用 JAVA 但我愿意接受任何能让这项任务变得容易的事情 这是目标关于 XMP XML 的另一个问题
  • jmap - 组织和堆操作会给 jvm 带来开销吗?

    正如标题所述 需要多少开销jmap histo and jmap heap分别带到jvm 如果一个内存敏感的 Java 进程处于OutOfMemory 例如 大约 96 的堆已满 并且无法通过 full gc 清除 其中一项操作是否有可能将
  • 如何在android sdk上使用PowerMock

    我想为我的 android 项目编写一些单元测试和仪器测试 然而 我遇到了一个困扰我一段时间的问题 我需要模拟静态方法并伪造返回值来测试项目 经过一些论坛的调查 唯一的方法是使用PowerMock来模拟静态方法 这是我的 gradle 的一
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • struts 教程或示例

    我正在尝试在 Struts 中制作一个登录页面 这个想法是验证用户是否存在等 然后如果有错误 则返回到登录页面 错误显示为红色 典型的登录或任何表单页面验证 我想知道是否有人知道 Struts 中的错误管理教程 我正在专门寻找有关的教程 或
  • Path2D 上的鼠标指针检测

    我构建了一个Path2D http docs oracle com javase 7 docs api java awt geom Path2D html表示由直线组成的未闭合形状 我希望能够检测何时单击鼠标并且鼠标指针靠近路径 在几个像素
  • Java中获取集合的幂集

    的幂集为 1 2 3 is 2 3 2 3 1 2 1 3 1 2 3 1 假设我有一个Set在爪哇中 Set
  • MongoDB Java 驱动程序:MongoCore 驱动程序与 MongoDB 驱动程序与 MongoDB 异步驱动程序

    MongoDB Java 驱动程序有三种不同的驱动程序选项 核心驱动 MongoDB 驱动程序 MongoDB 异步驱动程序 The 驱动程序描述页面 https docs mongodb org ecosystem drivers jav
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮

随机推荐

  • 通过 QID 获取属性?

    我可以通过标签获取项目及其属性 SELECT distinct item itemLabel itemDescription SAMPLE DR as DR SAMPLE article as article WHERE item wdt
  • 将日期时间转换为日期

    如何将 Grails 中的日期时间字段转换为日期 而不捕获时间 我需要这样做是为了与系统日期进行比较 class Trip String name String city Date startDate Date endDate String
  • 指向 Objective-C 中指针的指针?

    我想在 Objective C 中声明一个指向指针的指针 我有一个实例变量 primaryConnection 当它发生变化时 应该动态更新它以指向局部变量 NSURLConnection primaryConnection void do
  • 如何修复 docker-machine 中过期的客户端证书

    Doing a docker machine lsa 得到了意想不到的Unable to query docker version Get https x x x x 2376 v1 15 version x509 certificate
  • HTML 5 <画布>

    这是我的代码 需要帮助使用 html 5 canvas 元素和 javascript 代码在山地景观之间绘制云的图像
  • Xcode 7.3.1 无法正确自动完成

    我有一个简单的 全新的 Objective C 项目 适用于 OSX El Capitan 10 11 4 上的 iOS 我使用的是 Cocoapods 因此我使用以下 3 个 pod 创建了 Podfile Firebase UALogg
  • 为什么 .every() 不是函数?

    我收集了所需表单元素的数组 我认为 并添加了 模糊 侦听器 var formInputs input filter required formInputs each function i this on blur function Each
  • 如何从导航抽屉启动活动?

    因此 我在这里搜索了有关导航抽屉的分配 当我从另一个人的问题的答案中找到教程时 我就这么做了 我成功地根据自己的喜好创建了导航抽屉并设计了其样式 但现在我一直在不知疲倦地寻找如何从导航抽屉启动活动 我已设法将一些代码放入 MainActiv
  • Angularjs:如何关闭评论块中的 ng-if ?

    div visible div 很容易 但是因为ngIf http docs angularjs org api ng directive ngIf甚至可以在评论中使用 结束语是什么评论区 尝试过 但运气不佳 Thanks ng if仅限于
  • Amazon S3 中的 Etag 定义已更改

    我使用 Amazon S3 进行备份已经有一段时间了 通常 上传文件后 我会检查 MD5 和匹配 以确保我已进行良好的备份 S3 具有用于给出此总和的 etag 标头 然而 当我最近上传一个大文件时 Etag 似乎不再是 md5 和 它有额
  • 使用替换密码进行加密

    我正在用字母表中的另一个字母替换字母表中的每个字母 例如 每个 a 都会替换为 Q 每个 b 都会替换为 W 我已经编写了代码来加密下面的句子 include
  • 截取 UIView 的屏幕截图,其中子视图是相机会话

    我正在构建一个应用程序 我需要对其子视图是相机会话 AVFoundation 会话 的视图进行屏幕截图 我试过这段代码 CGRect rect self containerView bounds UIGraphicsBeginImageCo
  • 将多个值作为单个参数传递 - Oracle SQL 查询

    我有一个查询 我传递了 2 个参数 COUNTRY REGION 参数和 COST CENTER 参数 我可以同时传递两个参数 COST CENTER 和 COUNTRY REGION 或者传递一个或另一个 这部分没问题 你可以在下面的第一
  • 使用 python 中的请求与不和谐交互

    我正在尝试使用 requests 和 python 自动点击不和谐按钮 但是当我发送请求时出现错误 不和谐按钮 https i stack imgur com tehay png 我试过这个 header authorization XXX
  • 使用 Java Web 服务的 Objective C SOAP 请求

    我有一个简单的 Java Web 服务 WebService serviceName Catalogo V1 public class Catalogo V1 This is a sample web service operation W
  • 除非我显式调用 AnnotationDriver::getAllClassNames,否则 Doctrine 不起作用

    我是第一次尝试使用 Doctrine ORM 并且我正在遵循此处找到配置 http www doctrine project org docs orm 2 0 en reference configuration html obtainin
  • 如何从 C# 将 SQL Server 数据库转换/导出到 MSAccess

    我有一个 SQL Server 数据库 我需要将所有数据导出到用户可以下载的 Access mdb 中 从 C 执行此操作的最简单方法是什么 我意识到我可以有一个空白 但有架构 mdb 当我想导出时我可以复制它 然后通过数据集将所有数据从
  • 是否“int size = 10;”产生一个常量表达式?

    以下代码在 gcc 4 8 和 Clang 3 2 下编译 int main int size 10 int arr size C 标准的8 3 4 1规定数组的大小必须是整型常量表达式 即size似乎不是 这是两个编译器中的错误 还是我遗
  • 在输入助手中调用 ember 把手助手

    我无法找出在 Ember 输入帮助程序中调用 Ember Handlebars registerBoundHelper 的正确方法 BoundHelper 进行日期格式化 Ember Handlebars registerBoundHelp
  • 使 JLabel 淡出

    我正在编写一个应用程序 该应用程序执行某些任务并在成功完成任务时通知用户 为了通知用户我正在使用 jlabel 我希望这个 jlabel 显示消息并在一段时间后消失 我使用 netbeans 作为我的 IDE 这是我的课程的架构 摘要 GU