- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的目标是创建一个像 Widget (alwaysOnTop) 一样运行的 JavaFX 应用程序,但它也会减少其他外部应用程序的可用空间。
您可以看到它就像一个新的 Windows 工具栏:如果我以全屏模式打开浏览器,我希望我的“工具栏”在浏览器旁边可见,始终可见,但没有重叠。
此工具栏将占据整个屏幕的高度并粘贴到屏幕的左侧或右侧。
1) JavaFX 可以做到这一点吗? (或者在 JavaFX 中集成一些 Swing)
2)我该怎么做?或者我在哪里可以找到一些文档? (困难之一是我找不到我想做的事情的关键词,可能是因为我缺乏英语词汇)
3) 这可以互操作吗? (Windows、MacO、Linux...)
4)是否有其他应用程序可以实现此技巧? (有人告诉我VLC可以做到这一点,但我没有找到参数)
如果我的描述不清楚,我会编辑晦涩的部分:)
最佳答案
先生;
您: “此工具栏将占据整个屏幕的高度并粘贴到屏幕的左侧或右侧”
我:使用Screen
类
你: “JavaFX 可以做到这一点吗?(或者 JavaFX 中的一些 Swing 集成)”
我:是的
你: “我该怎么做?或者我在哪里可以找到一些文档?(其中一个困难是我找不到我想做的事情的关键词,可能是因为我缺乏英语词汇)”
我:这里是代码示例
//create two stages
Stage toolbar = new Stage(), main = new Stage();
//creating a chunk here to fill up our 'main'
AnchorPane a = new AnchorPane();
WebView wv = new WebView();
Label l = new Label("Loading url");
wv.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
@Override
public void changed(ObservableValue<? extends State> arg0,
State arg1, State arg2) {
if(arg2.equals(State.RUNNING)){
l.setText("LOADING");
}else if(arg2.equals(State.SUCCEEDED)){
l.setText("DONE");
}
}
});
wv.getEngine().load("http://stackoverflow.com/users/3894351/elltz");
a.autosize();
a.getChildren().addAll(wv,l);
Scene scene = new Scene(a,500,500);
main.setScene(scene);
main.show();
//creating a chunk to fill up 'toolbar'
TreeItem<String> treeItemRoot1 = new TreeItem<> ("StackOverflow Users");
TreeItem<String> nodeItemA = new TreeItem<>("Elites");
TreeItem<String> nodeItemB = new TreeItem<>("Rookies");
treeItemRoot1.getChildren().addAll(nodeItemA, nodeItemB);
nodeItemA.setExpanded(true);
nodeItemB.setExpanded(true);
TreeItem<String> nodeItemA1 = new TreeItem<>("Jon Skeet");
TreeItem<String> nodeItemA2 = new TreeItem<>("jwelsea");
TreeItem<String> nodeItemA3 = new TreeItem<>("James D");
nodeItemA.getChildren().addAll(nodeItemA1, nodeItemA2, nodeItemA3);
TreeItem<String> nodeItemB1 = new TreeItem<>("Elltz");
TreeItem<String> nodeItemB2 = new TreeItem<>("Sybb");
nodeItemB.getChildren().addAll(nodeItemB1, nodeItemB2);
TreeView<String> treeView = new TreeView<>(treeItemRoot1);
treeView.setShowRoot(false);
// starting of the toolbar alignments
toolbar.initModality(Modality.NONE); // with this function, i dont quite recall but all
//you can say is Modality.NONE, means do not override focus from another window
toolbar.setScene(new Scene(treeView,120,(Screen.getPrimary().getVisualBounds().getHeight()-20)));
// the getPrimary gets the default screen or monitor to your system
//so in short i get the height of it then - n; depends on how your screen & margins kinda stuff
toolbar.setMaxWidth(125); //to prevent excessive re-sizing; you could change to your likeness
toolbar.setMinWidth(120); //to prevent excessive re-sizing; you could change to your likeness
toolbar.setX((Screen.getPrimary().getVisualBounds().getMaxX()-130));
// this function above positions your scene at the (widith_of_entire_
//screen - the size of the stage which is toolbar - 10); so with this my
// calculations it will be set perfectly at the right side. the 10 has here
// stands for margins or stuff like that. but if you want the left side,
// you just use the line Screen.getPrimary().getVisualBounds().getMinX();
// you do not need to subtract because you start counting from 0 on your left
toolbar.setY((Screen.getPrimary().getVisualBounds().getMinY()));
// this function above positions the stage vertically, it starts counting
// from 0 at the top, if you wanted to position it somewhere at the bottom
// then you do the minus(-) things
toolbar.show();
new Thread(new Runnable() {
@Override
public void run() {
while(true){
try {
Thread.sleep(100); //buy little millieseconds
} catch (InterruptedException e) {}
Platform.runLater(()->{
toolbar.toFront();
//bring your UI on top of everyone
});
}
}
}).start();
希望这是你想要的......
关于JavaFX : How to reduce window fullscreen of other application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28969215/
我正在动态更改背景颜色,我也需要在全屏模式下发生同样的事情。不幸的是,伪类样式不能直接从 javascript 修改。 有什么方法可以说 :fullscreen 类应该遵循与 :not(:fullsc
如何相对于全屏 img 在 和 上放置一个 div?即使调整窗口大小时,我也希望 div 相对于图像位于同一位置。 编辑: 现在几乎可以正常工作了。我将我的 div 定位到外部 div 而不是图像。问
在我的应用程序(C++14、MacOsX 10.11)中,我使用 glfw3 创建两个窗口,它们应该在两个具有不同原始分辨率的显示器中以全屏模式运行。我正在创建这样的窗口: glfwCreateWi
我正在使用 XCode 4.5 版。对于每个 Xib,我可以选择大小为“Retina 3.5 全屏”或“Retina 4 全屏”。 我的疑问是:如果我选择 Retina 4 全屏,我的应用程序能否在旧
我有一个包含两个阶段的应用程序,应分别以全屏模式显示在两个不同的屏幕上。我设法将两个舞台放置在单独的屏幕上,并尝试在每个舞台上将全屏属性设置为true,但只显示了其中的两个而没有进行修饰。总是最后一个
在我的VPS中,我运行了远程桌面并连接到另一个VPS。 现在,新遥控器具有整个屏幕,我无法控制主VPS! 如何切换此全屏模式? 最佳答案 CTRL + ALT + BREAK 在全屏模式和窗口模式之间
我有一个 AVPlayer 与 AVAsset 一起使用来播放视频。 我添加了一些控件,例如播放、停止、前进等... 但是我怎样才能通过按钮切换到全屏呢?我不想使用 MPMoviePlayerCont
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我正在尝试找到最好的方法来创建一个水平网站,全屏,如果可能的话响应式,最小宽度适用于平板电脑。问题是我还需要使用鼠标滚轮进行水平滚动,并且我发现 fullPage.js 不支持这一点,或者至少我无法让
我尝试用 Vitamio 玩直播。我解决了一些问题,但我无法解决这个问题。视频无法全屏播放。这些是我的代码。我希望你能帮帮我!谢谢你,抱歉我的英语不好。 package com.uusoftware.
我使用 setEnabledSystemUIOverlays 来隐藏状态栏和虚拟按钮栏。 但是屏幕顶部和底部有空白(如图所示): 有人知道怎么解决吗? 这是我的代码: import 'package:
我正在尝试向我的程序添加全屏功能,但我无法让它工作。我想 Display.setFullscreen(true); 我尝试将其位置更改为创建显示的位置或设置显示模式的位置上方,但仍然无法正常工作。有什
鉴于 the sheer number 这不存在,我有点惊讶Unicode 中的箭头状符号。我错过了什么吗?或者是否有一个看起来类似于全屏图标的角色? 最佳答案 还有 U+26F6 "SQUARE F
我有一个带有两个按钮的登录 Activity ,一个是我的,另一个来自 Facebook SDK。我可以看到 ID 为“auth”的按钮的宽度和高度等于 facebook 按钮。如果在我设置的 lis
我正在尝试构建一个显示图像的全屏“模态”。我通过创建一个具有最大高度和宽度的 div 来制作模态,给它一个大的 z-index 和固定位置。 在该模式中,我放置了一张图片。我正在尝试使用此 css 自
Capacitor 在文档教程中有关于屏幕方向的信息 (https://capacitorjs.com/docs/v2/guides/screen-orientation#screen-orienta
我试图创建一些 POC 来尝试使用 jwplayer,但由于某种原因,jwplayer 的全屏无法正常工作。 有没有办法在jwplayer的jsfiddle中进行全屏工作? Here is my js
我正在使用 VueJS 开发 PWA。我开始在真实设备中测试我的应用程序(添加到主屏幕)。我的应用程序旨在 100% 高度,因为它显示了一个 map ,如您所见: 有时,从视口(viewport)高度
我使用 i3 窗口管理器并拥有 set $Locker i3lock --color=000000 && sleep 1 exec --no-startup-id xautolock -time 5
我正在使用带有播放列表的 VLC 媒体播放器,其中包含 IP 电视地址。使用我的声卡 Remote ,我可以切换电视 channel 。有时,在更改 channel 时,VLC 会退出全屏模式并返回全
我是一名优秀的程序员,十分优秀!