草庐IT

JavaFX 2.2 TextField 最大长度

我正在处理JavaFX2.2项目,但在使用TextField控件时遇到问题。我想限制用户可以在每个TextField中输入的字符数。但是我找不到属性或类似maxlength的东西。Swing中存在同样的问题,已解决this方法。如何解决JavaFX2.2问题? 最佳答案 这是在通用文本字段上完成工作的更好方法:publicstaticvoidaddTextLimiter(finalTextFieldtf,finalintmaxLength){tf.textProperty().addListener(newChangeListene

java - 在新线程中调用方法的简单方法

我正在编写小应用程序,现在我发现了一个问题。我需要在不滞后于应用程序窗口的情况下调用一个(稍后可能是两个)方法(此方法加载某些内容并返回结果)。我找到了像Executor或Callable这样的类,但我不明白如何使用这些类。能否请您发布任何对我有帮助的解决方案?感谢所有建议。编辑方法必须返回结果。此结果取决于参数。像这样:publicstaticHtmlPagegetPage(Stringpage)throwsFailingHttpStatusCodeException,MalformedURLException,IOException{returnwebClient.getPage(

java - 如何在 TreeView 中禁用或修改 TreeCell 的填充

环境:JDK7u75、Windows8.1x64、JavaFX2.2示例代码:publicclassTreeViewSampleextendsApplication{publicstaticvoidmain(String[]args){launch(args);}@Overridepublicvoidstart(StageprimaryStage)throwsMalformedURLException{primaryStage.setTitle("TreeViewSample");TreeItemrootItem=newTreeItem("RootNode");for(inti=1;i

java - 从 JavaFX Canvas 获取像素数据的最佳方式?

是否可以从javafx.scene.canvas.Canvas获取ARGB像素数据?我知道javafx.scene.image.Image提供了一个PixelReader来执行此操作,但如果可能的话,我想直接从Canvas获取此数据。 最佳答案 我相信我已经找到了解决方案。由于Canvas扩展了Node,它继承了Node.snapshot()方法,该方法将Canvas的当前状态保存到WritableImage。由于WritableImage扩展了Image,我可以从WritableImage获取PixelReader并读取像素数据。

java - 在 JavaFX 中单击可编辑 TableView 单元格外部时如何提交?

我有一个表格单元格工厂,负责在JavaFXTableView中创建一个可编辑的单元格。我正在尝试为tableview实现一些附加功能,以便当用户在可编辑单元格外单击时进行提交(保存编辑的文本,而不是按照默认的tableview行为丢弃。)我添加了一个textField.focusedProperty()事件处理程序,我在其中提交文本字段中的文本。但是,当在当前单元格外单击时,将调用cancelEdit()并调用commitEdit(textField.getText());无效。我已经意识到,一旦cancelEdit()被调用,TableCell.isEditing()就会返回fals

java - 在 Java 应用程序中为开发和发布提供各种 URL 端点的正确方法是什么?

我正在使用JavaFX、Gradle、javafx-gradle-plugin构建Java桌面应用程序。此应用程序连接到我也构建的服务器。当我编译发布版本时,运行gradlejfxNative,我希望它与生产服务器通信;但除此之外,我希望它与本地主机对话。处理此问题的正确Java/Gradle方法是什么?某种编译配置文件? 最佳答案 您可以使用Gradle的sourcesets为此:示例build.gradle:applyplugin:'java'sourceSets{prod{java{srcDirs=['src/main/jav

java - 如何在 JavaFX 表格鼠标悬停的每个单元格上设置工具提示?

我是JavaFX的新手。我创建了一个看起来像附加图像的TableView。当我将鼠标悬停在表格的每个单元格上时,我想显示一个工具提示。我已经设置了两个CellFactory;一个用于在第一列中显示复选框,一个用于在第二列中显示图像。所以显示工具提示一定不能影响这两个呈现的列。有什么方法可以在鼠标悬停在表格的每个单元格上显示工具提示,并且不应该影响其他单个列单元格的呈现。 最佳答案 这是我在某列的单元格中需要工具提示时所做的:TableColumnnameCol=newTableColumn("Name");nameCol.setCe

JavaFX - 数据模型类中的可观察集合

下面是一段简单的JavaFX代码,用于说明我的问题。Listlist1=newArrayList();list1.add("foo");...someListView=newListView();ObservableListsomeObservableList=FXCollections.observableList(list1);someListView.setItems(someObservableList);...someObservableList.add("bar");如果我没理解错的话,调用setItems方法后,不仅列表的内容会显示在ListViewGui组件中,如果添加

带有 FilteredList (JDK 8) 的 JavaFX Tableview 不按列排序

我正在研究他们重新添加到JDK8中的FilteredList类,感觉快了很多-似乎提供了更接近GlazedLists的性能。但是,当我使用FilteredList而不是ObservableList时,表列排序似乎根本不起作用。控制台中没有异常/堆栈跟踪。这是我Controller中的实例成员:privateObservableListmasterData=FXCollections.observableArrayList();privateFilteredListfilteredData;我的Controller初始化:@FXMLvoidinitialize(){...filmTabl

java - 如何在 Pane 中加载 fxml 文件?

如果我们有一个Stage那么Scene包括2个Pane第一个Pane包含Button,第二个Pane是空的我们可以在第二个Pane中加载其他fxml文件吗?fxml1:VBox|_Pane1-->Button|_Pane2///////////////fxml2:Pane-->Welcometofxml2"whenweclickthebuttonloadthefxml2insidePane2offxml1"然后点击之后====我在尝试后终于找到了这个作品!====谢谢你们@FXMLPanesecPane;publicvoidloadFxml(ActionEventevent){Pane