我试图通过参考YT的一些教程来创建一个表视图。当我做一个简单的表视图及其相关的控制器时,它工作。
主类:
public class TableTest extends Application {
public TableTest() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) throws Exception {
try {
// load the fxml file
FXMLLoader tableloader = new FXMLLoader(getClass().getResource("TestTableView.fxml"));
Parent root = tableloader.load();
TableTestController controller = tableloader.getController();
controller.initializeModel();
//load the login scene
Scene scene = new Scene(root, 800, 400);
stage.setTitle("Test Table Screen");
stage.setScene(scene);
stage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class TableTestController {
@FXML private TableView<TablePost> t_posts ;
@FXML private TableColumn<TablePost, String> c_post_id ;
@FXML private TableColumn<TablePost, String> c_post_title ;
@FXML private TableColumn<TablePost, String> c_post_desc ;
@FXML private TableColumn<TablePost, String> c_post_creator ;
@FXML private TabPane TabPane;
@FXML private Tab AllPosts;
@FXML private AnchorPane t_anch;
@FXML private TableTestController t_anchController;
@FXML private Parent TAllPosts;
public void initializeModel() {
System.out.println("Starting Table Init");
c_post_id.setCellValueFactory(new PropertyValueFactory<TablePost, String>("postId"));
c_post_title.setCellValueFactory(new PropertyValueFactory<TablePost, String>("postTitle"));
c_post_desc.setCellValueFactory(new PropertyValueFactory<TablePost, String>("postDesc"));
c_post_creator.setCellValueFactory(new PropertyValueFactory<TablePost, String>("postCreator"));
t_posts.setItems(getPosts());
System.out.println("Finished Table Init");
}
public ObservableList<TablePost> getPosts() {
ObservableList<TablePost> posts = FXCollections.observableArrayList();
TablePost p1 ;
p1 = new TablePost("id1","title1","desc1","creator1");
posts.add(p1);
p1 = new TablePost("id2","title2","desc2","creator2");
posts.add(p1);
return posts;
}
}
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.cell.PropertyValueFactory?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity"
minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0"
prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.1"
xmlns:fx="http://javafx.com/fxml/1"
fx:id ="t_anch"
fx:controller="test.TableTestController">
<children>
<TableView fx:id="t_posts" layoutX="14.0" layoutY="65.0"
prefHeight="141.0" prefWidth="570.0">
<columns>
<TableColumn fx:id="c_post_id" prefWidth="78.0"
text="Post Id" />
<TableColumn fx:id="c_post_title" prefWidth="135.0"
text="Post Title" />
<TableColumn fx:id="c_post_desc" prefWidth="237.0"
text="Post Desc" />
<TableColumn fx:id="c_post_creator" prefWidth="119.0"
text="Post Creator" />
</columns>
</TableView>
</children>
</AnchorPane>
TestTableView2.fxml:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Tab?>
<?import javafx.scene.control.TabPane?>
<?import javafx.scene.layout.BorderPane?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity"
minHeight="-Infinity" minWidth="-Infinity" prefHeight="515.0"
prefWidth="714.0" xmlns="http://javafx.com/javafx/11.0.1"
xmlns:fx="http://javafx.com/fxml/1"
fx:controller="test.TableTestController">
<center>
<TabPane fx:id="TabPane">
<tabs>
<Tab fx:id="AllPosts" closable="false" text="All Posts">
<content>
<fx:include fx:id="TAllPosts"
source="TestTableView.fxml" />
</content>
</Tab>
</tabs>
</TabPane>
</center>
</BorderPane>
您只需在控制器中为tableview2
进行初始化即可。还要在控制器中添加allposts
,而不是FXML:
public class TableView2Controller {
@FXML private Tab AllPosts;
@FXML
public void initialize() throws IOException {
FXMLLoader loader = new FXMLLoader(getClass().getResource("TestTableView.fxml"));
Pane pane = loader.load();
TableTestController controller = loader.getController();
controller.initializeModel();
AllPosts.setContent(pane);
}
}
问题内容: 在我的appium + testng应用程序中,我输入的是: 给出以下堆栈跟踪: 似乎Appium服务器没有使用该功能成功实例化,但这几乎是在线示例的复制和粘贴-我无法弄清楚出了什么问题。 问题答案: 用if语句括住“ driver”,以了解是否== null。 这是我的能力 使用appium 1.2 *
Struts检测到未处理的异常: 消息:java.lang.nullPointerException文件:org/apache/jsp/web_002dinf/jsps/api/multilineout_jsp.java行号:160 以下是服务器控制台上的错误: 我在前面读到过,这个问题可能是由于Tomcat库&Web-INF库中的JAR文件冲突造成的,但事实并非如此。 我对Java非常陌生,只维
我正在编写的一个程序出现了以下问题,我在互联网上搜索了一下,但我真的找不到任何东西来帮助我理解以下问题 因此,在另一个类中,我编写了一个方法,只要单击搜索按钮,该方法就执行如下所示: 然后SearchController类看起来如下所示(我在这里简化了它): 有人能告诉我为什么可以在initialize方法上写文本吗(该方法在行...那么,如果我尝试在该行之后的标签上写,为什么它不起作用?) 提前
问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于
我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db
我试图通过集成Struts 2来创建一个注册页面 Hibernate配置文件: Hibernate映射文件: