我有下面的JQuery eventhandler.我想停止网页上的所有导航.
$(document).click(function(event) {
event.stopPropagation();
event.preventDefault();
event.cancelBubble = true;
event.stopImmediatePropagation();
$(document).css('border-color','');
$(document).css('background-color','');
$(event.target).css('border-color','yellow');
$(event.target).css('background-color','#6BFF70');
return false;
});
Run Code Online (Sandbox Code Playgroud)
当我在Facebook登录页面上使用它时,它会停止所有导航.但在谷歌主页上,"我感觉很幸运"按钮仍然导航到下一页.我该如何避免呢?
我顺便使用JavaFX浏览器.它类似于Safari浏览器.
我有一个有两列的表.我应该将宽度设置为30%和70%.该表是可扩展的,但不是列.我如何实现这一目标?
我有一个SplitPane,我需要将布局分为25%和75%.此外,我需要禁止向右侧拖动超过25%的分割.但是我可以在25%的空间内拖动到任何程度.请帮忙.
有没有办法使用?识别被点击的元素的类型webView(如文本框/广播/按钮等)webEngine.getDocument()?
假设我点击文本字段,我可以得到点击位置的x,y坐标.是否有可能识别该特定位置的元素?像document.elementFromPoint()Javascript中的方法.
我可以使用Jquery/Javascript来做到这一点.但由于我们可以访问Document对象及其元素,有没有办法识别使用JavaFX本身?
我在JavaFX应用程序中有一个TabPane.我必须写一个监听器来关闭标签,所以我从标签中删除了默认关闭图标并添加了我的自定义关闭图标.以下是代码:
Tab gTab = new Tab("GlobalData.json");
Hyperlink hlink = new Hyperlink();
Image image = new Image(FileTreeItem.class.getResourceAsStream("../images/close.png"));
hlink.setGraphic(new ImageView(image));
hlink.setFocusTraversable(false);
gTab.setGraphic(hlink);
hlink.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
if (TabPaneUtil.getInstance().getSelectionModel().getSelectedItem().getText().endsWith("*")) {
Response res = FXOptionPane.showConfirmDialog(new Main().getPrimaryStage(), "Would you like to save?", "Confirmation");
if (res.equals(Response.YES))
event.consume();
else
TabPaneUtil.getInstance().getTabs().remove(TabPaneUtil.getInstance().getSelectionModel().getSelectedItem());
} else {
TabPaneUtil.getInstance().getTabs().remove(TabPaneUtil.getInstance().getSelectionModel().getSelectedItem());
}
}
});
gTab.setContent(main1.globalDataView(ApplicationContext.getTreeView().getSelectionModel().getSelectedItem()));
TabPaneUtil.getInstance().getTabs().add(gTab);
TabPaneUtil.getInstance().getSelectionModel().select(gTab);
Run Code Online (Sandbox Code Playgroud)
发生的事情是我首先获得关闭图标,然后是选项卡名称.有没有什么方法可以先得到标签名称,然后是图形?
PS:我见过一些解决方案,比如在Label和旋转图形中添加文本.我不太可能这样做,因为我将不得不在我的应用程序中进行大量代码更改并且它变得非常混乱!任何帮助,将不胜感激.
我有一个显示在我的JavaFX应用程序上的图像.给定坐标,我必须使用矩形在图像上显示该部分.例如,如果图像上有文本字段并且我给出了文本字段的坐标,则图像上的文本字段上应显示一个矩形(就像突出显示它一样).绘制矩形很容易,但我很难将其定位在图像上.请帮忙.
public class YieldDemo extends Thread{
public static void main(String[] args) {
YieldDemo y1 = new YieldDemo();
YieldDemo y2= new YieldDemo();
y1.start();
y2.start();
}
public void run() {
for(int i=0;i<=5;i++) {
if(i==3) {
Thread.yield();
} else
System.out.println(i+Thread.currentThread().toString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据yield()的文档,thread-1应该产生并允许thread-2在第3次循环之后进行处理.但是,输出并不像预期的那样.相同的线程继续跳过第3次迭代.在一个线程完成循环后,其他线程以相同的行为执行.请解释.
输出:
0Thread[Thread-1,5,main]
1Thread[Thread-1,5,main]
2Thread[Thread-1,5,main]
4Thread[Thread-1,5,main]
5Thread[Thread-1,5,main]
0Thread[Thread-0,5,main]
1Thread[Thread-0,5,main]
2Thread[Thread-0,5,main]
4Thread[Thread-0,5,main]
5Thread[Thread-0,5,main]
Run Code Online (Sandbox Code Playgroud) interface A
{
public void printValue();
}
public class Test
{
public static void main (String[] args)
{
A a1 = new A() {
public void printValue()
{
System.out.println("A");
}
};
a1.printValue();
}
}
Run Code Online (Sandbox Code Playgroud)
我们无法创建接口的实例,但是new A()在这段代码中做了什么?我见过这种类型的代码主要用于比较器.请解释.
我有一个包含文件夹和子文件夹的树视图。子文件夹的叶子是 json 文件。我已经为文件夹和叶子设置了图标。现在,只有根文件夹有图像。展开时,子文件夹会以箭头标记列出,但不会列出文件夹图标。展开箭头时,会显示图标。如何解决这个问题?
private Node rootIcon = new ImageView(new Image(Main.class.getResourceAsStream("images/folder2.png")));
private Node jsonImage = new ImageView(new Image(Main.class.getResourceAsStream("images/jsonImage1.png")));
public ObservableList<TreeItem<File>> buildChildren(TreeItem<File> treeItem) {
File f = treeItem.getValue();
f.getName();
if(treeItem.getValue().isDirectory()){
treeItem.setGraphic(rootIcon);
}else{
treeItem.setGraphic(jsonImage);
}
if (f != null) {
File[] files = f.listFiles();
if (files != null) {
ObservableList<TreeItem<File>> children = FXCollections.observableArrayList();
ChildTreeItem child2=null;
ChildFileTreeItem childFiles=null;
for (File childFile : files) {
try {
if(childFile.isDirectory()){
child2 = new ChildTreeItem(childFile);
//child2.setSplitPane(ApplicationContext.getSplitPane());
children.add(child2);
}else{
childFiles=new ChildFileTreeItem(childFile);
//childFiles.setSplitPane(ApplicationContext.getSplitPane());
childFiles.setGraphic(jsonImage);
children.add(childFiles);
}
} catch (Exception e) …Run Code Online (Sandbox Code Playgroud)