我请求 API 向我发送一些数据,我可以成功检索这些数据,但我仍停留在它的解码过程中。这是我收到的 JSON:
[
{
"challenge_id":1,
"challenge_title":"newchallenge1",
"challenge_pts_earned":1000,
"challenge_description":"description1",
"start_date":"2017-09-24T00:00:00.000Z",
"end_date":"2017-09-24T00:00:00.000Z",
"challenge_category_id":1,
"status_id":2,
"createdAt":"2017-09-24T17:21:47.000Z",
"updatedAt":"2017-09-24T09:40:34.000Z"
},
{
"challenge_id":2,
"challenge_title":"challenge1",
"challenge_pts_earned":100,
"challenge_description":"description1",
"start_date":"2017-09-24T00:00:00.000Z",
"end_date":"2017-09-24T00:00:00.000Z",
"challenge_category_id":1,
"status_id":0,
"createdAt":"2017-09-24T17:22:12.000Z",
"updatedAt":"2017-09-24T09:22:12.000Z"
},
{
"challenge_id":3,
"challenge_title":"new eat title",
"challenge_pts_earned":600000,
"challenge_description":"haha",
"start_date":"2017-01-09T00:00:00.000Z",
"end_date":"2017-01-10T00:00:00.000Z",
"challenge_category_id":2,
"status_id":0,
"createdAt":"2017-09-27T17:12:10.000Z",
"updatedAt":"2017-09-27T09:15:19.000Z"
}
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建以下结构来对其进行解码:
struct challenge : Codable {
let id : String?
let title : String?
let pointsEarned : String?
let description : String?
let dayStarted : String?
let dayEnded : String?
let categoryID : String?
let statusID …Run Code Online (Sandbox Code Playgroud) 我TextField在弹出窗口中有多个对象,名为dialog(type :) Stage.
我正在尝试为它们定义一个动作处理程序,目的是在键盘上单击转义按钮后关闭舞台.
这是我关闭阶段的功能:
public void escapeKeyPressed(KeyCode keyCode , Stage dialog){
if (keyCode == KeyCode.ESCAPE ){
dialog.close();
System.out.println("escape got called");
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我称之为的地方:
textUsername.setOnAction((event) -> {escapeKeyPressed(KeyCode.ESCAPE ,dialog );});
textAddress.setOnAction((event) -> {escapeKeyPressed(KeyCode.ESCAPE ,dialog );});
textwp.setOnAction((event) -> {escapeKeyPressed(KeyCode.ESCAPE ,dialog );});
textState.setOnAction((event) -> {escapeKeyPressed(KeyCode.ESCAPE ,dialog );});
textloginName.setOnAction((event) -> {escapeKeyPressed(KeyCode.ESCAPE ,dialog );});
Run Code Online (Sandbox Code Playgroud)
问题是函数没有被调用.
知道怎么解决这个问题?值得一提的是,如果我将调用者替换掉,函数本身就能正常工作setOnAction();
我正在通过 JavaFx 做一个项目,我有一个图像,当我将鼠标悬停在该图像上方时,我想显示有关该图像的一些信息(如 html 中的标题标签)。
知道我该怎么做吗?
如何为 fxml 内的图像设置事件处理程序。我已经编写了以下内容,其中有 3 个图像,我想单击它们,它们调用我已经在控制器类中创建的函数。我已经尝试过 onMouseClick 和 onAction 它们都不起作用。
<ImageView fitHeight="31.0" fitWidth="29.0" pickOnBounds="true" preserveRatio="true" GridPane.columnIndex="1" GridPane.rowIndex="0" >
<image >
<Image url="@/views/add.png" />
</image>
</ImageView>
<ImageView fitHeight="31.0" fitWidth="29.0" pickOnBounds="true" preserveRatio="true" GridPane.columnIndex="1" GridPane.rowIndex="1">
<image>
<Image url="@/views/remove.png" />
</image>
</ImageView>
<ImageView fitHeight="31.0" fitWidth="29.0" pickOnBounds="true" preserveRatio="true" GridPane.columnIndex="1" GridPane.rowIndex="2">
<image>
<Image url="@/views/edit.png" />
</image>
</ImageView>
Run Code Online (Sandbox Code Playgroud)
我也查看了其他帖子,但他们都说当图像被实用地定义时如何做到这一点。任何建议表示赞赏。
我是新手,TableView并在JavaFx中自定义它.我已经完成了很多教程,我已经了解了一些,但是在我的表中添加了行.例如,我有一个名为的表Table1.根据我的理解,我可以创建列ArrayList和:
for (int i = 0; i <= columnlist.size() - 1; i++) {
TableView col = new TableView(columnlist.get(i));
Table1.getColumns().add(col);
}
Run Code Online (Sandbox Code Playgroud)
现在我该如何为此添加一行?如果你能给我一个非常简单的例子,我会很感激,因为我已经通过其他例子,但它们太复杂了:)