-1

我在 JavaFX 中有一个场景,其中有一个CustomTextField带有自动完成功能的场景。当用户键入时,会打开一个包含更多列的弹出窗口。我在 TestFX 中做了一个自动场景,女巫正在输入CustomTextField.

有没有办法通过它的列浏览弹出窗口?

clickOn(article2SearchTxt);
write(cfgUiTest.article2SearchVal);
push(KeyCode.ENTER);

结构为:Scene、Popup、HBox、VBox、Cells。实际上有一个来自数据库的列的弹出窗口。Popup 的内容是 HBox 和 VBox。(一张表)我想访问单元格的内容。文本上的“clickOn”不起作用,但如果我得到单元格的内容,我可以用“TAB”移动它并按“ENTER”

如果我对此进行系统输出:

System.out.println(((PopupColumn) ((VBox) IntellitaxUI.getPopup().getContentHBox().getChildren().get(5)).getChildren().get(2)).getItems());

我得到了单元格的内容,但在 TextFlow 中。我能得到它的内容吗?

selectedItem popupcontent selectedItem], TextFlow@7f3d205f[styleClass=popupcontent selectedItem], TextFlow@761997b6[styleClass=popupcontent selectedItem], TextFlow@777a8ef1[styleClass=popupcontent selectedItem], TextFlow@6a680ebb[styleClass=popupcontent selectedItem], TextFlow@50f69067[styleClass=popupcontent selectedItem], 
4

1 回答 1

0

通过带有行/列的弹出窗口导航可以通过两种方式完成:

1)模拟向下/向上/向左/向右箭头按下:

press(KeyCode.DOWN).release(KeyCode.DOWN);

2)模拟鼠标单击或双击特定文本:

clickOn("expected text");
doubleClickOn("expected text");

更新:

根据您的println表达及其结果,我手工绘制了您的桌子的下一个模型:

在此处输入图像描述

我可以看到TextFlow每个单元格中的控件集合。这是对的吗?可能只有一个TextFlow是在牢房里吗?

顺便说一句,为什么不使用标准TableView控件进行数据库数据表示?

于 2018-02-14T07:15:14.690 回答