Tag: javafx 8

JavaFX冻结问题

我正在搞乱JavaFX API,由于某种原因,这个应用程序似乎在(看似)随机的时间后冻结。 它是一个应用程序,使红绿色渐变图案,并有一个很酷的动画与它一起使用。 运行应用程序时,按Enter键,动画将开始。 经过一段时间(看起来像我之前说的那样随机)它会停止更新,但是计时器继续运行,循环也是如此,并且仍然使用正确的参数调用setColor方法,这让我认为PixelWriter被冻结或窗口未更新。 我所做的代码如下: package me.dean; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.image.PixelWriter; import javafx.scene.input.KeyCode; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.stage.Stage; import java.util.Timer; import java.util.TimerTask; public class DeansApp extends Application { CoolAnimation canvas; @Override public void start(Stage primaryStage) throws Exception { canvas = new CoolAnimation(); canvas.setWidth(255); canvas.setHeight(255); primaryStage.setScene(new Scene(new Pane(canvas))); […]

TableView从排序中排除底行(总计)

我有一个简单的TableView(Java FX 2.0,但我认为问题相当通用),它获得了默认的排序function。 然而,该表在其最后一行中有一个总数,所以我想从排序算法中排除最后一行。 我找到了一个Swing JTable的解决方案,它包括为总行创建一个单独的表 – 可以转换为TableView,但它看起来有点麻烦。 我已经尝试实现我自己的比较器,但我认为不可能创建一个既可以升序也可以降序的命令。

JavaFx如何在tableview中只对齐一个列标题?

如何在tableview中只对齐一列的标题? 以下css对齐所有列标题,但我想只对齐一列: .table-view .column-header .label{ -fx-alignment:CENTER }

如何使用JavaFX中的JCSG库将MeshView转换为CSG对象

我正在使用JavaFX的JCSG库。 我有一些MeshView对象,我想将它们转换为CSG对象,有没有办法实现这一点?

限制JavaFX TextField的字符数会导致撤消时出现IndexOutOfBounds

我要求限制用户可以输入到TextField JavaFX控件中的字符数。 我像这样扩展了TextField public class LengthLimitedTextField extends TextField { /** * @param maxCharacters The max allowed characters that can be entered into this {@link TextField}. */ public LengthLimitedTextField(final int maxCharacters) { final TextField thisField = this; this.textProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue observable, String oldValue, String newValue) { // Force correct length by deleting […]

JavaFX:如何在JavaFX中正确使用ProgressIndicator

我是JavaFX中的新手。 我的JavaFX应用程序有问题,我需要在数据库查询之前启动我的ProgressIndicator(类型为INDETERMINATE)。 这是我的代码的一部分: spinner.setVisible(true); passCripto = cripto.criptoPass(pass); MyDao dao = new MyDaoImpl(); boolean isLoginOk = dao.isUserOk(user, passCripto); boolean isStatusOk = dao.idStatusUser(user); 完成后,我需要将微调器设置为FALSE,但只有在数据库查询完成时才显示微调器。 我怎么解决这个问题? 谢谢。 我这样做,但没有解决: Task taskValidaLogin = new Task() { @Override protected Boolean call() throws Exception { boolean validaLogin = ACDCDao.validaUsuario(usuario, senhaCripto); return validaLogin; } }; Task taskValidaStatus = new Task() { @Override protected […]

在Javafx中为新的ListView条目设置动画

问题 嗨, 我正在尝试编写一个应用程序,ListView中的每个新条目都会被动画化。 这是我的代码: public class BookCell extends ListCell { private Text text; private HBox h; public BookCell() { this.text = new Text(); this.h = new HBox(); this.h.getChildren().add(text); super.getStyleClass().add(“book-list-cell”); super.itemProperty().addListener((obs,oldv,newv)->{ if(newv != null ) { if(getIndex() == this.getListView().getItems().size()-1 ) { //why does this get called twice for each update? System.out.println(“isbn = “+newv.getIsbn().get() + ” lastIndexOf=” […]

模仿CTRL +使用Javafx在ListView中单击多个选择

我正在尝试找到在ListView中选择多个项目的不同方法。 GUI将在触摸屏显示器上运行,因此我将无法按CTRL + Click。 通过研究各种过去的post,我已经能够通过将所有选定的项保留在数组中然后循环遍历它以获得最终选择来实现多选。 我的代码唯一的问题是,与CTRL +点击相比,选择顺利完成,每次选择新项目时,我的代码会导致类型闪烁。 所以基本上listView清除所有选择,然后选择正确的选择。 有没有办法让这种转变顺利进行? 是否更容易模仿触摸以获得CTRL +点击效果? selectedList = new int[totalTypes];//total number of item properties for(int x=0; x<selectedList.length;x++){//0 = not selected, 1 = selected selectedList[x]=0; } testView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); testView.setOnMouseClicked(new EventHandler(){ @Override public void handle(Event event){ if(selectedList[testView.getSelectionModel().getSelectedIndex()]==0){ selectedList[testView.getSelectionModel().getSelectedIndex()]=1; } else{ selectedList[testView.getSelectionModel().getSelectedIndex()]=0; } for(int x=0; x<selectedList.length;x++){ if(selectedList[x]==1){ testView.getSelectionModel().select(x); } else{ testView.getSelectionModel().clearSelection(x);; } } } […]

JavaFX:使用自定义节点作为TreeView的折叠/展开分支开关

是否可以使用自定义Node /形状(而不是图像 )替换TreeView的展开和折叠箭头?

我们应该在JavaFX自定义控件中使用FXML吗?

这似乎有点问,我认为使用FXML编写我们的自定义组件显然是正确的方法。 但正如我们从ControlsFX,JFXextras甚至“掌握JavaFX8控件”这本书中看到的那样,不要在自定义控件中使用或提及使用FXML。 尽管如此,官方文档说要继续这条路线,并通过FXML创建JavaFX控件。 什么是更正确的方式和原因?