macostimerwindow.java

来自「Java版本的屏幕截图 工具,可以自己放到系统托盘使用」· Java 代码 · 共 64 行

JAVA
64
字号
/* * Copyright (c) 2002-2008 TeamDev Ltd. All rights reserved. * * Use is subject to license terms. * * The complete licence text can be found at * http://www.teamdev.com/winpack/license.jsf */package teamdev.jxcapture.samples.demo.timer;import com.jniwrapper.Int;import com.jniwrapper.SingleFloat;import teamdev.jxdesktop.macosx.cocoa.nscolor.NSColor;import teamdev.jxdesktop.macosx.cocoa.nswindow.NSWindow;import javax.swing.*;import java.util.TimerTask;/** * Mac OS X platform specific implementation of Timer window * that notifies how many seconds left before capture. * * @author slavapak */public class MacOSTimerWindow extends TimerWindow {    private NSWindow dialogWindow;    public MacOSTimerWindow(JWindow window) {        dialogWindow = new NSWindow(window);        dialogWindow.setOpaque(false);        dialogWindow.setBackgroundColor(new NSColor(NSColor.static_clearColor()));        dialogWindow.setLevel(new Int(1000));        double value = 1.0 / 255;        dialogWindow.setAlphaValue(new SingleFloat(value));    }    public void showWithFadeEffect() {        final int[] transparency = new int[]{25};        final boolean[] completed = new boolean[] {false};        new java.util.Timer().schedule(new TimerTask() {            public void run() {                transparency[0] += 10;                double value = transparency[0] * 1.0 / 255;                dialogWindow.setAlphaValue(new SingleFloat(value));                if (transparency[0] > 256) {                    dialogWindow.setAlphaValue(new SingleFloat(1));                    completed[0] = true;                    cancel();                }            }        }, 0, 25);        // wait until dialog is shown completely        while (!completed[0]) {            try {                Thread.sleep(50);            } catch (InterruptedException e) {                // @ignore            }        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?