小编dej*_*now的帖子

JavaFX:你能创建一个没有在任务栏上显示并且未修饰的舞台吗?

我正在尝试创建一个没有出现在Windows任务栏上并且未修饰的阶段(没有边框,没有关闭/最小化/最大化按钮).我的最终目标是创建一个托盘图标应用程序,它将弹出通知窗口.

它类似于这个问题,我想要StageStyle.UTILITY的行为(它阻止舞台在任务栏上显示)和StageStyle.TRANSPARENT(这是一个完全未修饰的窗口).

引用的问题对我不起作用,因为我没有用于创建模态窗口的父级.有关如何使其工作的任何想法?谢谢

javafx-8

12
推荐指数
3
解决办法
1万
查看次数

如何创建仅在边框上具有阴影的JavaFX透明舞台?

我已经阅读了很多关于透明度和阴影的问题,但我认为我没有看到这个具体问题.

我能够成功创建一个既有透明度又有阴影的窗口,但我无法弄清楚如何使颜色阴影不影响透明度颜色.

例如,以下代码创建一个灰色透明度和红色阴影的窗口.但是,红色也会影响主窗口的透明度,但我只希望阴影延伸到窗口的边框之外.

所以我得到的是:

在此输入图像描述

但我想要的是:(手动编辑图像)

在此输入图像描述

关于如何做到这一点的任何想法?

我的测试代码:

@Override
public void start(Stage stage) throws Exception {
    stage.initStyle(StageStyle.TRANSPARENT);

    StackPane stackPane = new StackPane();

    stackPane.setStyle(
        "-fx-background-color: rgba(255, 255, 255, 0.5);" +
        "-fx-effect: dropshadow(gaussian, red, 50, 0, 0, 0);" +
        "-fx-background-insets: 50;"
    );

    Scene scene = new Scene(stackPane, 450, 450);
    scene.setFill(Color.TRANSPARENT);

    stage.setScene(scene);

    stage.show();
}
Run Code Online (Sandbox Code Playgroud)

javafx

10
推荐指数
1
解决办法
2万
查看次数

Java ScriptEngineManager不再适用于Mountain Lion的AppleScript

自从我升级到Mountain Lion后,我无法通过Java ScriptEngineManager运行AppleScript代码.

Apple页面(链接)上的示例代码为engine对象返回null .

public static void main(String[] args) throws Throwable {
    String script = "say \"Hello from Java\"";

    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine engine = mgr.getEngineByName("AppleScript");
    engine.eval(script);
}
Run Code Online (Sandbox Code Playgroud)

有人知道任何变通方法吗?

java applescript osx-mountain-lion

9
推荐指数
1
解决办法
2743
查看次数

使用Netty按百分比调整服务器带宽

是否可以使用Netty限制服务器的全局或通道带宽?

我可以通过GlobalChannelTrafficShapingHandler设置显式读取或写入速率限制,但我试图将服务器的全局带宽限制为可用带宽的大约一半.因此,如果服务器可以以8MB/s的速度上传,我想将上传限制在大约4MB/s.我希望服务器随着可用带宽的变化而调整; 因此,如果服务器的上传速率降低到5MB/s(可能是由于其他应用程序的网络利用率),那么我想将速率限制为2.5MB/s.

我一直在玩OverRiding AbstractTrafficShapingHandler.submitWrite()并根据自上次调用以来的持续时间添加延迟,但逻辑看起来很脆弱且不可靠.

关于如何智能地解决这个问题的任何想法?

java netty

7
推荐指数
1
解决办法
512
查看次数

HttpGet.abort()/ HttpPost.abort()并不总是立即中止

我正在使用Apache HttpComponents 4.2.1,并且无法使HttpGet.abort()和HttpPost.abort()总是立即中止。它在大多数时间都有效,但是有时连接会阻塞直到超时。我注意到只有在我明确设置超时值时才会发生这种情况。

这是我的测试代码:

public static void main(String[] args) throws Exception {
    for (int i = 0; i < 10; i++) {
        testAbort();
    }
}

public static void testAbort() throws Exception {
    String urlString = "http://slow.website.com";

    final HttpGet httpGet = new HttpGet(urlString);

    Runnable runnable = new Runnable() {
        public void run() {
            try {
                HttpClient httpClient = new DefaultHttpClient();

                HttpParams httpParams = httpClient.getParams();

                HttpConnectionParams.setConnectionTimeout(httpParams, 10000); // issue doesn't occur if I comment this line

                httpClient.execute(httpGet);
            } 
            catch (Exception e) { …
Run Code Online (Sandbox Code Playgroud)

java apache-httpcomponents

5
推荐指数
0
解决办法
2182
查看次数