Tag: javafx

JavaFX TableView不会立即更新

我有一个JavaFX TableView UI更新的问题。 更改observable对象后,它不会更新TableView的UI。 但是,如果我执行一个神奇的仪式,再次向下拉动TableView的滚动条 – 它似乎重绘了表并更新了它中的项目。 通过调试,我确保了PreferencesSet ArrayList和对象的正确更新。 这是gif演示正在发生的事情 这是我第一次在这里提问,所以我可能遗漏了一些重要的信息。 随意问我这个问题。 先感谢您。 这是代码(我遗漏了不相关的东西): ControllerClass: public class TestSomethingController implements Initializable { public TableView preferencesTable; public TableColumn mdColumn; public TableColumn typeColumn; public TableColumn tradeColumn; public TableColumn plastColumn; public TableColumn capColumn; public TableColumn multColumn; public TableColumn sizeColumn; @Override public void initialize(URL location, ResourceBundle resources) { setNorthPanel(); setTableColumns(); […]

如何在JavaFX ScatterChart中从点到X轴绘制一条线?

现在我正在使用JavaFX ScatterChart,我需要从数据点到X轴绘制一条线,如下图所示。 谢谢你的帮助!

将person.city.name添加到TableView

我有一个TableView和一些POJO,并希望与其中一个属性绑定到TableView。 但是,此属性也是一个POJO,这应该在TableView中显示一个属性。 这是我的代码: ` 还有我的Persona和Deuda课程: public class Persona { private Integer id; private Integer archivo; private String Nombres; private List recibos; private Deuda deuda; } public class Deuda { private Date fecha; private BigDecimal saldo; private BigDecimal nuevo; private BigDecimal descuento; } 我想在fxml文件中设置Person.deuda.saldo,所以我使用了: 但这不会在我的TableView中呈现任何内容。 我怎样才能解决这个问题?

JavaFx-当fxml注入对象字段?

我是javaFx的新手,我只在@fxml函数和初始化函数中找到@fxml字段不为null,否则@fxml字段将始终为null,是真的吗? 如果是这样,我如何在加载fxml(不使用查找)后立即使用@fxml字段,就像这样?(以下代码将抛出nullexception) @FXML Label resultTF; …. FXMLLoader loader=new FXMLLoader(); loader.setController(this); Parent pane = loader.load(getClass().getResource(“/fxml/Main.fxml”)); this.resultTF.setText(“”); 我想做的就是在fxml中声明一个id为id的字段,并在加载fxml之后立即使用它,比如wpf,flex

为什么我在加载fxml时会得到stackoverflow?

我调整了我的控制器构造函数和fxml,以便控制器的fxml的所有设置都在fxml中,除了FXML构造和fxml加载。 这是我的控制器: public class MainOverviewTab extends Tab { @FXML private AnchorPane content; public MainOverviewTab() { FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(“main_overview_tab.fxml”)); // fxmlLoader.setRoot(content); // fxmlLoader.setController(this); try { fxmlLoader.load(); } catch (Exception e) { e.printStackTrace(); } } 和我的fxml文件: …. 当调用fxmlLoader.load()并返回到FXMLLoader fxmlLoader = new FXMLLoader(…)然后再次调用fxmlLoader.load()时发生stackoverflow …为什么会发生这种情况以及如何保持我的控制器构造函数相同并加载fxml相同? 或者这不可能吗?

FXML文件中的getHostServices()。showDocument()

是否有任何简单的方法将getHostServices()。showDocument()命令以某种方式放入toHomepage()方法,而不是执行行和代码行,所以代码应该看起来干净简单? package sample; import javafx.application.HostServices; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.Button; public class Controller { @FXML private Button facebookButton; @FXML void toHomepage(ActionEvent event) { } } 如果我按下按钮,它应该直接链接到Facebook的URL

Java FXexception(媒体播放器应用程序)

我刚刚开始使用Java FX而且在我的生活中无法弄清楚为什么这个exception不断发生。 我有2节课。 一个叫做Main,另一个叫做Player。 这是他们每个人的样子…. 主类 package application; import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; import javafx.scene.paint.Color; public class Main extends Application { @Override public void start(Stage primaryStage) { Player player = new Player(“/Applications/Nacho.mp4”); Scene scene = new Scene (player, 720, 480, Color.BLACK); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } […]

在JavaFX中实现只读样式?

我希望实体(控件或属性)具有不同的状态,可以通过CSS着色。 例如,考虑TextField,它可以包含两种值,正常和错误。 一旦它包含错误值,它应显示为“红色”。 但实际的颜色应该可以从CSS定义。 这有可能实现吗? 我找到了很多Styleable*接口或类,但它们看起来能够接受任何风格。 我可以写和实体,从价值中衍生出它的风格吗?

是否有更简单(更轻松)的方法将文本置于JavaFX 8的“区域”中?

所以,首先,我已经实现了我想要的,也就是说,在“区域”的中心显示一些文本。 屏幕截图(右上角): 现在,我遇到的问题是我是如何实现这一点的…这是整个标签的FXML摘录: 正如您所看到的,为了实现直观上应该简单的东西(在区域的中心显示一些文本),我必须创建一个BorderPane并在其放置一个Label ; 我甚至不必指定标签上的文字应该居中…… 我尝试过的其他事情是: 放置Label本身:那么ScrollPane的分隔符将被彻底忽略; 左侧将扩展到Scene的整个宽度(是吗?)减去分隔符的宽度加上标签的文本,更重要的是,文本将位于区域的顶部; 用AnchorPane包围它:虽然这确实保持了区域的大小,但文本将出现在左上角而不是中心。 有比上述更简单的解决方案吗?

Javafx tableviewreflection不起作用

我试图用模拟数据填充JavaFx TableView列,但我不断收到reflection错误,即使我认为我正在遵循Bean约定: // Data model class SensorTableEntry { SensorTableEntry(Integer id, String man, String type, String addr) { this.id = new SimpleIntegerProperty(id); this.manufacturer = new SimpleStringProperty(man); this.type = new SimpleStringProperty(type); this.btAddress = new SimpleStringProperty(addr); } private IntegerProperty id; public Integer getId() { return idProperty().get(); } public void setId(Integer value) { idProperty().set(value); } public IntegerProperty idProperty() { […]