我目前正在阅读" 测试引导的面向对象软件"这本书,该书对测试驱动开发进行了很好的介绍.
一个缺点是通过本书开发的代码基于Swing.对于我的下一个项目,我想使用Java FX 2,我想知道是否有任何GUI测试框架呢?本书介绍了windowlicker,它只允许测试Swing应用程序.
我想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)
是否有可能逐渐改变风格,使之成为过渡?
如何在JavaFX应用程序中全局设置Font类型?
有什么解决方案可供我使用吗?在JavaFX 8中,默认的Font已经改变,我想使用JavaFX 2.2中使用的相同Font.
我正在尝试创建一个没有出现在Windows任务栏上并且未修饰的阶段(没有边框,没有关闭/最小化/最大化按钮).我的最终目标是创建一个托盘图标应用程序,它将弹出通知窗口.
它类似于这个问题,我想要StageStyle.UTILITY的行为(它阻止舞台在任务栏上显示)和StageStyle.TRANSPARENT(这是一个完全未修饰的窗口).
引用的问题对我不起作用,因为我没有用于创建模态窗口的父级.有关如何使其工作的任何想法?谢谢
我正在使用Ant为JavaFX应用程序构建自部署EXE.
目前Inno Setup将EXE置于此处:C:\ Users\username\AppData\Local\application name
我想将它放在不同的位置,并为用户提供覆盖它的选项.但是我似乎无法找到蚂蚁设置来改变它.
这可能吗?
谢谢!
是否可以在节点之间设置间距BorderPane?Swing等效的是hgap和vgap BorderLayout.
我没有在文档中找到任何内容,我能想到的唯一可行的解决方法是有选择地在子节点上设置边距以复制效果.
我一直在努力提高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) 我编写了一个程序,它使用了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) 看一下这个
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(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?
javafx-8 ×10
javafx ×7
javafx-2 ×4
animation ×1
combobox ×1
gui-testing ×1
inno-setup ×1
installer ×1
java ×1
java-11 ×1
java-8 ×1
layout ×1
migration ×1
performance ×1
testing ×1