标签: javafx-8

JavaFX 2的GUI测试框架

我目前正在阅读" 测试引导的面向对象软件"这本书,该书对测试驱动开发进行了很好的介绍.

一个缺点是通过本书开发的代码基于Swing.对于我的下一个项目,我想使用Java FX 2,我想知道是否有任何GUI测试框架呢?本书介绍了windowlicker,它只允许测试Swing应用程序.

testing javafx gui-testing javafx-2 javafx-8

12
推荐指数
5
解决办法
2万
查看次数

如何在JavaFX中使用CSS制作动画?

我想Node通过改变它的风格类来改变风格.

Button button = new Button();
button.getStyleClass().add("class1")   
button.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent mouseEvent) {
            button.getStyleClass().add("class2");
        }
    });
Run Code Online (Sandbox Code Playgroud)

是否有可能逐渐改变风格,使之成为过渡?

user-interface animation javafx-2 javafx-8

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

在JavaFX中全局设置字体

如何在JavaFX应用程序中全局设置Font类型?

有什么解决方案可供我使用吗?在JavaFX 8中,默认的Font已经改变,我想使用JavaFX 2.2中使用的相同Font.

javafx javafx-2 javafx-8

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

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

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

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

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

javafx-8

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

使用Inno Setup的JavaFX自安装程序5 - 允许用户更改安装目录

我正在使用Ant为JavaFX应用程序构建自部署EXE.

目前Inno Setup将EXE置于此处:C:\ Users\username\AppData\Local\application name

我想将它放在不同的位置,并为用户提供覆盖它的选项.但是我似乎无法找到蚂蚁设置来改变它.

这可能吗?

谢谢!

installer inno-setup javafx-8

12
推荐指数
2
解决办法
4929
查看次数

节点之间的BorderPane间距

是否可以在节点之间设置间距BorderPane?Swing等效的是hgap和vgap BorderLayout.

我没有在文档中找到任何内容,我能想到的唯一可行的解​​决方法是有选择地在子节点上设置边距以复制效果.

layout javafx javafx-8

12
推荐指数
2
解决办法
8915
查看次数

JavaFX LineChart性能

我一直在努力提高JavaFX中LineChart的性能,但没有取得很大的成功.我也发现这似乎是一些程序员在尝试显示大数据时发现的常见问题(这里的大数据代表数据大于10,000).例如,这种数据在科学和工程中非常普遍,如果我们能够弄清楚如何在JavaFX中加速LineChart,那将会很棒.

好吧,我在stackoverflow中发现了两个帖子,类似的问题JavaFX LineChart的性能问题有65000个数据点JavaFX LineChart - 绘制数组.主题性能问题的JavaFX线型图有65000个数据点结束了(亚当)建议使用道格拉斯-普克算法!减少进入LineChart的数据点数量以加快速度.

但是,在科学和工程数据中,我们通常需要查看绘图形状,然后放大以查看绘图特定部分的详细信息.因此,如果我们使用Ramer-Douglas-Peucker算法,我们将需要在每次用户放大/缩小时重绘LineChart,我认为这将花费大量处理.

因此,我想知道是否有人在如何加速JavaFX中的LineChart方面有一些提示.这是一个示例代码,包含我到目前为止学到的内容.

    import java.util.ArrayList;
    import java.util.List;
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.chart.LineChart;
    import javafx.scene.chart.NumberAxis;
    import javafx.scene.chart.XYChart;
    import javafx.scene.layout.StackPane;
    import javafx.stage.Stage;

    public class TestingLineChart extends Application {

@Override
public void start(Stage primaryStage) {
    long startTime, endTime;
    startTime = System.nanoTime();

    StackPane root = new StackPane();

    NumberAxis xAxis = new NumberAxis();
    NumberAxis yAxis = new NumberAxis();

    LineChart<Number, Number> lineChartPlot = new LineChart<>(xAxis, yAxis);
    // set them false to make …
Run Code Online (Sandbox Code Playgroud)

java performance javafx javafx-8

12
推荐指数
2
解决办法
3257
查看次数

Java 11与Java 8中的拖放工作方式不同

我编写了一个程序,它使用了javafx中的拖放功能.在JavaFX8中它完美运行.

在JavaFX11中,拖放功能失效:我没有得到一个不同的鼠标光标,我没有得到我正在拖动的行的鬼图像,并且滴有些错误 - 它们不会触发鼠标释放,然后每次我点击表格时触发掉落.

这是最小的可运行示例,它演示了我面临的问题.在Java 8 JVM上运行它可以根据需要运行.在Java 11 JVM上它没有.我在Ubuntu 18.04上.

我很好地改变我的代码以适应Java 11,但我不知道我做错了什么.

Java 11版

java version "11.0.1" 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
Run Code Online (Sandbox Code Playgroud)

Java 8版

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
Run Code Online (Sandbox Code Playgroud)

DND11.java

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.scene.Scene;
import javafx.scene.control.SelectionMode;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableRow;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.input.ClipboardContent;
import javafx.scene.input.DataFormat;
import javafx.scene.input.Dragboard;
import javafx.scene.input.TransferMode;
import …
Run Code Online (Sandbox Code Playgroud)

migration javafx java-8 javafx-8 java-11

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

在不知道包含节点的情况下从组中删除所有子项

看一下这个

 Group g = new Group();
 GridPane grid = new GridPane(); // 
 g.getChildren().addAll(grid);
Run Code Online (Sandbox Code Playgroud)

现在我的问题是如何从"g"中删除这个"网格"而不指定像这样的"网格"

g.getChildren().removeAll(null); //i do not know what to insert here?
Run Code Online (Sandbox Code Playgroud)

提前致谢

javafx javafx-2 javafx-8

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

JavaFX - 如何制作ComboBox hgrow?


我有JavaFX(8),HBox,ComboBox和HGrow的问题.HGrow不能与ComboBox结合使用.

(INFO:使用TextField(而不是ComboBox),它按预期工作!)

这是我的FXML代码:

<?xml version="1.0" encoding="UTF-8"?>

<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<VBox prefHeight="117.0" prefWidth="285.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.test.TestController">
  <children>
     <HBox prefHeight="105.0" prefWidth="196.0" VBox.vgrow="ALWAYS">
     <children>
        <ComboBox fx:id="fxCboTest" prefHeight="25.0" prefWidth="62.0" HBox.hgrow="ALWAYS" />
     </children>
    </HBox>
  </children>
</VBox>
Run Code Online (Sandbox Code Playgroud)

本准则将导致:

在此输入图像描述

我也试过以下代码(没有成功,这段代码什么也没做):

HBox.setHgrow(uiController.fxCboTest, Priority.ALWAYS);
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何制作ComboBox HGrow?

combobox javafx javafx-8

11
推荐指数
1
解决办法
4974
查看次数