大家好,我是JavaFXFXML的初学者,我正在用FXMLTable view进行测试,但是netbeans在我的代码中没有显示任何错误,我无法运行我的GUI应用程序。
这里是我的fxmldocument.fxml代码。
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane id="AnchorPane" prefHeight="359.0" prefWidth="473.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="table.FXMLDocumentController">
<children>
<Label fx:id="label" layoutX="126" layoutY="120" minHeight="16" minWidth="69" />
<TableView fx:id="tableview" layoutX="137.0" layoutY="90.0" prefHeight="200.0" prefWidth="200.0">
<columns>
<TableColumn fx:id="id" prefWidth="93.0" text="Id" />
<TableColumn fx:id="name" prefWidth="106.0" text="Name" />
</columns>
</TableView>
</children>
</AnchorPane>
这是一个fxml控制器代码。
package table;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.collections.*;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Label;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
/**
*
* @author pyaephyohlaing
*/
public class FXMLDocumentController implements Initializable {
//the table's view and columns
@FXML
TableView<Person>tableview;
@FXML
TableColumn id;
@FXML
TableColumn name;
//the table data
ObservableList<Person>data = FXCollections.observableArrayList();
@Override
public void initialize(URL url, ResourceBundle rb) {
//setup the table data
id.setCellValueFactory(
new PropertyValueFactory<Person,Integer>("id")
);
name.setCellFactory(
new PropertyValueFactory<Person,String>("name")
);
data.add(new Person(1,"Mg Mg"));
tableview.setItems(data);
System.out.println("hello");
}
}
这里是Person类代码。(Person.java)
package table;
import javafx.beans.property.*;
// a class that represents the person data to add into the table view
public class Person {
//a variable that represent the column data neeed to be JavaFx properties(i.e SimpleStringProperty)
//sets as the JavaFx table data property
public SimpleIntegerProperty id;
public SimpleStringProperty name;
public Person(Integer id,String name) {
System.out.println("Hee");
this.id=new SimpleIntegerProperty(id);
this.name=new SimpleStringProperty(name);
}
//getter method
public Integer getId() {
return id.get();
}
public String getName() {
return name.get();
}
}
这是主要的table.java代码。
package table;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
/**
*
* @author pyaephyohlaing
*/
public class Table extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
当我运行我的项目时,GUI没有出现,它显示了许多类似的错误。
使用platform/library/Java/javavirtualmachines/jdk1.8.0_65.jdk/contents/home/jre/bin/应用程序启动方法中的Java异常执行/users/pyaephyohlaing/netbeansprojects/table/dist/run1649041788/table.jar。97)在sun.launcher.launcherHelper$FXHelper.Main(launcherHelper.java:767)处由:java.lang.RuntimeException:在com.sun.javafx.Application.launcherImpl.launchApplication1(launcherImpl.java:917)处在com.sun.javafx.Application.launcherImpl.lambda$launchApplication$156(launcherImpl.java:182)处在java.lang.thread.run(thread.java:745)处发生异常由:init(TableRowSkinbase.java:146)在com.sun.javafx.scene.control.skin.tableRowSkin.(tableRowSkin.java:64)在javafx.scene.control.tableRow.createDefaultSkin(tableRow.java:212)在javafx.scene.control.impl_processCSS(control.java:859)在javafx.scene.node.processCSS(node.java:9056)在ene.java:1646)在javafx.scene.scene.impl_preferredsize(scene.java:1720)在javafx.stage.window$9。invalidated(window.java:846)在javafx.beans.property.booleanpropertybase.mark无效(window.java:846)在javafx.beans.property.booleanpropertybase.109)在javafx.beans.property.booleanpropertybase.set(wooleanpropertybase.setE.表Java结果:1删除目录/users/pyaephyohlaing/netbeansprojects/table/dist/run1649041788 jfxsa-run:BUILD SUCCESSFUL(总时间:6秒)
我不知道我的代码出了什么问题,谁能帮我修复这个错误吗?多谢了。
在FXMLDocumentController中,您将cell factory设置为Id,而我认为您的意思是将cellValueFactory设置为Name。
更改:
id.setCellFactory(
new PropertyValueFactory<Person,String>("name")
);
致:
name.setCellValueFactory(
new PropertyValueFactory<Person,String>("name")
);
我目前正在做一个项目,在这个项目中,我将时间转换为基数10时间(本质上,它最终会显示已经过去的一天的百分比。例如:中午12:00将显示为基数10时间的50.00)。目前,我知道我的算法是正确的,因为如果我把它打印到控制台,它会正确地打印出来,但是由于某种原因,我无法显示我的图形用户界面。如果我删除了试图不断更新GUI以显示正确数字的部分,GUI显示良好,但没有数字。我的代码如下: 有人知道我将如何
我正在将游戏的场景从启动页面切换到游戏,如果我单独玩,游戏场景效果很好,但当我从启动页面切换后玩游戏时,游戏会冻结一段时间。 是什么原因导致我的主游戏在切换场景后冻结了一段时间(一段时间后再次启动),我确信游戏在没有切换场景的情况下运行良好。 程序的控制流程是——从播放器开始,startuppage场景被加载到舞台,如果按下播放按钮,则在主控制器中,场景被切换到我的游戏场景。问题只会在切换场景时出
我有一个项目,我需要启动一个GUI,但在另一个不是我的主线程的线程中。 - - - 我的意思是,在任何情况下,我都不能在主线程中启动gui。我需要能够与我的控制器通信(示例中没有控制器)。但当我做正常的事情时:。。开始扩展应用程序{..方法,我无法再与控制器通信,因为线程已被占用。下面的代码应该允许我做我需要做的一切,所以我希望有一种方法可以让它工作。 问题是,为什么我的代码不起作用是一个例外:
单击时,我的应用可在相机和图库之间进行选择,然后该图片将显示在 ImageView 中。我最初尝试显示完整图像,然后尝试使用位图方式,但没有任何效果。我只是得到一个空白的图像视图。请给我一些关于我做错了什么的指导,并在必要时要求澄清: 相机/画廊照片代码:
Android Studio 3.4 styles.xml 在清单中: 在activity: 这里是布局: 但工具栏未显示:
问题内容: 我在程序中发现了一些问题。 我使用log4j进行日志记录, 但是,在日志文件中,所有行号都变为“?”。 对话模式如下: 问题答案: 您很可能在已编译的工件中缺少调试信息。也就是说,这不是log4j的错,您需要确保正在编译包含调试信息的东西。一个快速的测试是尝试使用您喜欢的IDE调试您的应用程序。如果没有调试信息,它将抱怨并且不会建立调试会话。
我已经制作了Hello World RCP应用程序,得到了以下类结构: 向Perspective.createInitialLayout()添加额外代码: 但不显示视图。 我将breakpoint设置到perspective.createInitialLayout()中,发现它没有执行。 我的观点声明是: ApplicationWorkbenchAdvisor.GetInitialWindowPe
我正在测试一个框架,并试图加载其他glTF文件,而不是教程中提供的示例。我从Sketchfab下载了几个glTF包文件,它们似乎没有加载。 如果我使用给定文件链接的框架,它会起作用:https://cdn.aframe.io/test-models/models/virtualcity/VC.gltf 但不是我从Sketchfab下载的。文件的路径是正确的-我有一个资产文件夹旁边的我的index.