标签: javafx

使用JavaFX的Maven项目(在`lib`中使用jar文件)

我正在设置一个maven项目,即将使用JavaFX.由于我听说JavaFX没有附带所有版本的Java,我下载并将jfxrt.jar文件放在lib项目的目录中.

1)如何指定不应下载依赖项(即JavaFX),但是哪个位于lib

2)这是否意味着项目可以在任何具有JDK的机器上构建(而不是必需的JDK 1.7 - 更新9+)?

java javafx maven

43
推荐指数
1
解决办法
4万
查看次数

使用JavaFX的WebEngine/WebView设置cookie

我似乎找不到任何方法在JavaFX中使用WebEngine/WebView以编程方式设置cookie .API没有给出任何关于如何获得类似HttpRequest的对象来修改标题(这是我在XML-RPC中使用的应用程序)或任何类型的cookie管理器的想法.

这个页面上的任何问题似乎都没有触及这个问题 - 有这个,但它只是在applet中修复bug时禁用cookie ,我的应用程序在桌面上btw.

我想象的唯一方法是通过请求第一页(需要带有sessionID的cookie才能正确加载),获取"拒绝访问"风格的消息,在页面上下文中执行一些javascript来设置cookie和然后刷新.这个解决方案虽然是一个糟糕的用户体验.

如何使用WebEngine设置cookie?


更新:从上面链接的问题中找到线索,我尝试了解使用CookieManager和相关API的一些示例.我找到了这个代码,然后我尝试将其合并到我的应用程序中,结果很奇怪;

MyCookieStore cookie_store = new MyCookieStore();
CookieManager cookie_manager = new CookieManager(cookie_store, new MyCookiePolicy());
CookieHandler.setDefault(cookie_manager);
WebView wv = new WebView();
Run Code Online (Sandbox Code Playgroud)

现在让我们说这样做:

String url = "http://www.google.com/";
wv.getEngine.go(url);
Run Code Online (Sandbox Code Playgroud)

在发出此请求后在Eclipse中进行调试显示cookie存储映射包含cookie:

{http://www.google.com/=[NID=67=XWOQNK5VeRGEIEovNQhKsQZ5-laDaFXkzHci_uEI_UrFFkq_1d6kC-4Xg7SLSB8ZZVDjTUqJC_ot8vaVfX4ZllJ2SHEYaPnXmbq8NZVotgoQ372eU8NCIa_7X7uGl8GS, PREF=ID=6505d5000db18c8c:FF=0:TM=1358526181:LM=1358526181:S=Nzb5yzBzXiKPLk48]}
Run Code Online (Sandbox Code Playgroud)

太棒了

WebEngine只使用底层注册的cookie引擎!但等等,真的吗?让我们在发出请求之前尝试添加cookie ...

cookie_store.add(new URL(url).toURI(), new HttpCookie("testCookieKey", "testCookieValue"));
Run Code Online (Sandbox Code Playgroud)

然后我看看Wireshark中的请求......

GET / HTTP/1.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/535.14 (KHTML, like Gecko) JavaFX/2.2 Safari/535.14 …
Run Code Online (Sandbox Code Playgroud)

cookies javafx httprequest http-headers javafx-2

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

JavaFX中fx:id和id之间的区别是什么?

也许是一个真正新手的问题....

通过阅读本教程,我开始使用Scene Builder在FMXL应用程序中学习JavaFX:

http://docs.oracle.com/javase/8/javafx/get-started-tutorial/fxml_tutorial.htm

所以,一旦我应用了一些更改,就会出现这2个ID的问题...我可能错过了或者对它们感到困惑......

任何人都可以告诉我他们在哪些情况下使用过它们?

java xml javafx scenebuilder

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

JavaFX TableView文本对齐方式

在此输入图像描述

正如您在图片中看到的那样,每个列的文本对齐方式设置为左对齐.有没有办法改变这个?到目前为止,我已经在我的CSS文件中尝试过:

#Cols{
    text-align: right;
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

#Cols{
    -fx-text-alignment: right;
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何改变对齐方式?

css java javafx tableview

40
推荐指数
4
解决办法
6万
查看次数

JavaFX,将ArrayList转换为ObservableList

有没有办法投ArrayListObservableList?我想不经过迭代就这样做ArrayList.

更具体地说,我使用ORMLite从数据库中获取数据,我需要ObservableList作为从DB获取数据的方法的输出.

目前我正在做这样的事情:

ArrayList<Stavka> listStavaka = new ArrayList<>(); 
Dao<Stavka, Integer> stavkaDao = DaoManager.createDao(connection, Stavka.class);
listStavaka = (ArrayList<Stavka>) stavkaDao.queryForAll();
ObservableList<Stavka> oListStavaka = FXCollections.observableArrayList();
for (Stavka stavka : listStavaka) {
    oListStavaka.add(stavka);
}
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

ObservableList<Stavka> listStavaka = FXCollections.observableArrayList();
Dao<Stavka, Integer> stavkaDao = DaoManager.createDao(connection, Stavka.class);
listStavaka = (ObservableList<Stavka>) stavkaDao.queryForAll();
Run Code Online (Sandbox Code Playgroud)

java javafx arraylist ormlite observablelist

40
推荐指数
1
解决办法
6万
查看次数

JavaFX中的图形可视化(如yFiles)

像Graphviz,但更具体地说,yFiles.

我想要一个节点/边缘类型的图形可视化.

我正在考虑制作节点a Circle和边缘a Line.问题是如何使用节点/边缘出现的区域.我应该使用a ScrollPane,regular Pane,a Canvas等...

我将添加滚动功能,缩放,选择节点和拖动节点.

谢谢您的帮助.

java javafx graphviz

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

38
推荐指数
3
解决办法
17万
查看次数

如何获取JavaFX的版本号?

如何在运行时找出我正在使用的JavaFX版本?

java javafx javafx-2

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

在同一场景中加载新的fxml

我有2个fxml文件:

  • 布局(标题,菜单栏和内容)
  • Anchorpane(它应该放在其他fxml文件的内容中)

我想知道如何从"主"场景中加载内容空间内的第二个文件.在javaFX中工作是一件好事还是加载新场景更好?

我正在尝试做这样的事情,但它不起作用:

@FXML
private AnchorPane content;

@FXML
private void handleButtonAction(ActionEvent event) {        
    content = (AnchorPane) FXMLLoader.load("vista2.fxml");
}
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

javafx scene fxml

38
推荐指数
2
解决办法
9万
查看次数

JavaFX 警告:不支持的 JavaFX 配置:类是从“未命名模块@...”加载的

我只是下载了 JavaFX 并进行了设置,我没有做任何其他事情。我运行了示例代码,尽管所有内容都已编译,但还是弹出了警告。我正在使用 IntelliJ。

这是在 Main.java 中:

package sample;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在sample.fxml中:

<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?>

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<GridPane fx:controller="sample.Controller"
          xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
</GridPane>
Run Code Online (Sandbox Code Playgroud)

运行时,一切都会编译,会弹出窗口,但我收到标题中所述的警告。

我以前从未使用过 JavaFX,所以我不确定在哪里可以找到这个模块。

java javafx

37
推荐指数
1
解决办法
5万
查看次数