草庐IT

java - 删除项目后,使用自定义单元工厂的 ListView 不会更新

我正在学习JavaFX,我想创建一个正常工作的单元工厂,直到我想从我的ListView中删除一行:plateList.setCellFactory(newCallback,ListCell>(){@OverridepublicListCellcall(ListViewparam){ListCellcell=newListCell(){@OverrideprotectedvoidupdateItem(Caritem,booleanempty){super.updateItem(item,empty);if(item!=null){setText(item.getPlate());}}};

多种对象类型的 JavaFX TreeView? (和更多)

我目前有以下对象数据结构:项目字符串名称ArrayList信息字符字符串名称收集项目账号字符串名称收集字符(最多8个)我想制作一个如下所示的TreeView:Root(invisible)======Jake(Account)============JakesChar(Character)==================AmazingSword(Item)==================BrokenBow(Item)==================JunkMetal(Item)======Mark(Account)============myChar(Character)=

java - 如何更改 JavaFX 中的突出显示颜色?

如何更改JavaFX中的突出显示颜色?通常它是带有渐变的蓝色,但我想要绿色突出显示。我尝试了以下方法:.root{-fx-shadow-highlight-color:#CCFF99;}感谢您的帮助! 最佳答案 查看caspian.css(JavaFX2)或modena.css(JavaFX8).root{/*Abrightblueforhighlighting/accentingobjects.Forexample:selected*text;selecteditemsinmenus,lists,trees,andtables;p

java - 有没有一种方法可以更快地编译/加载 fxml 文件并且仅一次,而不是在每次重新启动应用程序时?

我有一个程序在执行时会加载许多fxml文件。应用程序将在短时间内完成,而加载应用程序所需的时间太长。有很多fxml文件(20多个),所有这些fxml文件都加载了Java代码。应用程序已完成并可以使用,但每次执行程序时都会加载所有文件。fxml文件只能编译一次,因为完成后不会更改吗?java代码当然会被编译一次,它只是fxml文件。应用程序现在需要25秒才能启动,加载fxml需要14秒。有没有办法让这一切变得更快?编辑#1:是否有任何免费提供的工具可以使应用程序(Java)的执行速度更快?还是执行时间仅取决于程序的编写方式?哪些设计模式可以帮助缩短应用程序的执行时间?编辑#2:下面的代码

JavaFX:如何使回车键提交TextArea

抱歉,如果这看起来有点太简单了,我是JavaFX的新手,这是我用它构建的第一个小应用程序。我正在尝试制作一个简单的聊天客户端。我正在使用JavaFXScene构建器制作客户端UI,以及连接到FXML的Controller类。我怎样才能使文本区域中的当前文本提交到服务器并在按下回车键时清除文本区域,而不是使用某种“发送”按钮?编辑:这是不起作用的代码://...publicclassFXMLDocumentController{//...@FXMLprivateTextAreamessageBox;//...messageBox.setOnKeyPressed(newEventHandl

java - JavaFX 中 GridPane 的居中对齐行

我在fxml中有一个GridPane,它有一个文本标题和4个按钮。GridPane本身居中对齐,但所有按钮都在网格列内左对齐。我知道如何使用Java代码更改项目的对齐方式,但这不是理想的情况,因为我希望使用FXML和CSS处理所有样式。谁能建议在JavaFX的GridPaneView中居中对齐单元格元素的最佳方法? 最佳答案 要设置GridPane的子项居中对齐,您需要设置Halignment和Valignment子节点。在Java代码中你可以做类似的事情:GridPane.setHalignment(node,HPos.CENTE

java - 一种更好的方式来做 Swing 应用程序

是否有更好的方法来开发JavaSwing应用程序?SWXML?JavaFX?这里的开发者还有什么喜欢和推荐的吗? 最佳答案 另一种“更好的方法”是使用更好的布局管理器:MigLayout:一个极其灵活且易于使用的布局管理器,适用于Swing和SWT。它可以做表格布局、表单布局和几乎所有Swing布局管理器可以做的事情,只需简单易懂的基于字符串和/或API的编码。它的目标是用于手动编码的布局,就像Matisse/GroupLayout用于IDE一样。JPanelpanel=newJPanel(newMigLayout());panel

JavaFX 文本字段 : Automatically transform text to uppercase

我的FXMl上有一个JavaFXTextField控件,看起来像这样......我想在用户输入时自动将所有字符更改为大写。我Controller中的代码:publicvoidkeyListener(KeyEventevent){//maybetransformthepressedkeytouppercasehere...} 最佳答案 有几种方法可以实现这一点:覆盖replaceText()TextFieldtextField=newTextField(){@OverridepublicvoidreplaceText(intstart

应用程序启动方法中未指定 Controller 的Javafx错误异常

当我使用java8在intellij中运行以下代码时,出现错误。请帮忙。fxml是使用场景生成器生成的,我认为按钮Dagrooster未与该方法链接。packageWeert;importjavafx.application.Application;importjavafx.fxml.FXMLLoader;importjavafx.scene.Parent;importjavafx.scene.Scene;importjavafx.stage.Stage;publicclassMainextendsApplication{@Overridepublicvoidstart(Stagepr

java - 如何在 JavaFx 中创建可重新排序的 TableView

我有一个JavaFxTableView。我想允许用户单击并拖动以重新排序表格行。我似乎找不到任何方法来做到这一点,但这在GUI中似乎很常见。 最佳答案 下面是一些通过拖动行对ListView中的行重新排序的代码。拖动小鸟重新排序。TableView的实现有些类似。importjavafx.application.Application;importjavafx.collections.*;importjavafx.geometry.*;importjavafx.scene.Scene;importjavafx.scene.contr