Tag: javafx 2

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

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

混合Swing / FX:无法从fxml控制器处理对话框

场景:顶级容器是一个Swing JDialog,它有一些fx内容,包括触发处理按钮的fx按钮。 在创建按钮并手动配置相应的eventHandler时,处理可以预期(对话框被隐藏)。 通过fxml创建/配置按钮时,不会释放该对话框。 下面的示例包含手动配置和fxml加载/绑定按钮,以查看不同的行为。 问题: 这个例子有什么问题吗? 是否有预期的swing / fx交互有任何差异(手动与fxml)? 如何让它从fxml工作? 代码: package fxml; import java.io.IOException; import javafx.application.Platform; import javafx.embed.swing.JFXPanel; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.FlowPane; import javax.swing.JDialog; import javax.swing.SwingUtilities; public class DisposeExample { @FXML Button closeButton; Button fxButton; private JDialog dialog; /** * The action handler method used […]

使用Spring Boot启动JavaFX 2

我正在尝试使用JavaFX 2和Spring Boot创建新的应用程序,但到目前为止,由于MainPaneController的“root is null”,我的简单应用程序(如hello world)未运行。 MainPaneController类: public class MainPaneController implements Initializable { public static final String VIEW = “/fxml/Scene.fxml”; @FXML private Node root; @FXML private Label label; @PostConstruct public void init() { } public Node getRoot() { return root; } @FXML private void handleButtonAction(ActionEvent event) { System.out.println(“You clicked me!”); label.setText(“Hello World!”); } @Override public […]

将第二个项目添加到我的堆栈窗格时,第一个项目将丢失其Event / MouseOn。 为什么? 我该怎么办? JavaFX的

我有一个堆叠的窗格。 当我向堆栈窗格添加第二个项目时,两个都显示,但我不能再点击我的第一个项目了。 它变得“无法点击”。 我在.setonmouse中定义的内容不起作用。 它适用于我的第二个项目。 如果我切换它们在堆栈窗格中的顺序,则另一个可以工作,但不能同时工作。 有没有解决这个问题? 这是我的程序的样子: 我希望我的’网格’始终居中。 左侧有一些按钮位于列的中间,稍后会有右侧的按钮,网格顶部会有按钮/文本,稍后会在边距中显示按钮/文本。 我希望一切都可以点击。 http://img688.imageshack.us/img688/6025/examplerg.png

JavaFX更新textArea

我有一个简单的JavaFX应用程序,它有一个TextArea。 我可以使用start()方法中的以下代码更新textArea的内容: new Thread(new Runnable() { public void run() { for (int i = 0; i < 2000; i++) { Platform.runLater(new Runnable() { public void run() { txtarea.appendText("text\n"); } }); } } }).start(); 代码只是将text字符串写入TextArea 2000次。 我想从一个在start()方法之外实现的函数更新此textArea。 public void appendText(String p){ txtarea.appendText(p); } 可以从使用JavaFX应用程序更新TextArea的任意程序调用此函数。 我怎样才能在appendText函数中执行此操作?

失去焦点后,Javafx弹出窗口不会隐藏在其他应用程序后面

所以我的问题,正如标题中所说的那样,是关于Javafx(即2.2)Popup在某些方面的行为。 大多数情况下,你得到一个弹出窗口,你给它一个窗口作为它的父母,你给它一些场景,它往往相对独立。 这一切都很好,但是,在我的情况下,我需要一个弹出窗口,当事件发生时,它会将自己锚定到特定位置(窗口),特定位置。 然后,当窗口消失时(最小化,屏幕外,无论如何),弹出窗口将会消失,当它完成时移动,并且在所有的本质和function中,只是具有自定义形状的窗口的物理扩展。 当然,现在有很多细微差别,而且大部分内容都很有效。 我似乎无法弄清楚的唯一一件事就是通常在像Windows 7 64位这样的平台上。 你打开两个程序,好吧。 然后,如果程序重叠一点,无论哪个有焦点都可以显示整个程序,而另一个给人的印象是“在另一个窗口后面”。 (当另一个人专注于同一个地方时,无论窗口是否真的将应用程序图形渲染到窗口后面,我都不确定。) 通常,javafx也支持这个function。 但出于某种原因,javafx中的Popup类(参见此处的文档)并没有这样做。 无论如何,它总是在它显示的任何内容之上。 为了完整性,这里是我非常简单的弹出代码(至少有关于显示它和它的属性的部分): Popup myPop = new Popup(); //************************Popup Property Setter************************** //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& myPop.setWidth(width); myPop.setHeight(initialHeight); myPop.setAutoHide(false); myPop.setAutoFix(false); myPop.setHideOnEscape(false); myPop.setX(xLocation); myPop.setY(yLocation); //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //**********************end of Popup Properties************************** myPop.getContent().add(main_anchor); myPop.show(FileChooserWindow.get_stage()); 主锚有一些不同的组件,我包含在’myPop’弹出窗口内,而FileChooserWindow是一个非空的父窗口,在此方法调用时将无exception地打开。 这是我所指的行为的截图。 请注意pdf中突出显示的文本,即我的光标当前具有焦点的位置。 此外,弹出窗口固定的窗口可以在从左侧伸出的pdf背面看到。 你们给予的任何帮助都将非常感激。 我真的希望我不必检查活动进程以及它们相对于弹出窗口的位置,这是危险地接近我的知识边界,听起来像一个完整的PITA。

从JavaFX TableView一次删除多行的问题

我正在尝试创建一个按钮,当选择TableView中的多行时,将删除所有选定的行。 我正在使用getSelectedIndicies创建一个可观察的列表,但它无法正常工作。 如果我选择前三行,我会打印出指示,因为它会删除它们并打印0,1然后它会删除第一行和第三行,但三行的中间不会被删除。 delBtn.setOnAction(new EventHandler() { @Override public void handle(ActionEvent e) { ObservableList index = table.getSelectionModel().getSelectedIndices(); for (int location: index) { System.out.println(location); data.remove(location); } table.getSelectionModel().clearSelection(); } });

JavaFX UI冻结问题

我试图显示每项任务的进度和状态。 每个任务一行代表TableView 。 每个任务在每个Thread执行并行执行。 请参考TableView图片。 对于“Progress” TableColumn我将Cell Factory设置为渲染“ProgressBar”。 public static class ProgressBarTableCell extends TableCell { private final ProgressBar progressBar; private ObservableValue ov; public ProgressBarTableCell() { this.progressBar = new ProgressBar(); progressBar.setPrefHeight(23); setAlignment(Pos.CENTER); } @Override public void updateItem(T item, boolean empty) { super.updateItem(item, empty); if (item == null) { setGraphic(null); setText(null); } else { if (item.toString().equalsIgnoreCase(“Processing”)) { […]

限制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 […]

是否可以在Windows 2008服务器上使用Java FX启用硬件加速?

正如本问题中所讨论的,通过将-Dprism.verbose=true作为系统属性传递,可以检测Java FX是否正在使用硬件加速。 当我在Windows 2008 Server R2上的Java FX应用程序上执行此操作时,显然会回退到软件渲染: Prism pipeline init order: d3d j2d Using t2k for text rasterization Using dirty region optimizations Prism pipeline name = com.sun.prism.d3d.D3DPipeline Loading D3D native library … succeeded. Direct3D initialization failed Wrong operating system version (X) Got class = class com.sun.prism.d3d.D3DPipeline GraphicsPipeline.createPipeline: error initializing pipeline com.sun.prism.d3d.D3DPipeline *** Fallback to Prism […]