如何使用javafx显示从所选日期算起的日期?
我想知道如何使用javafx和scenebuilder从datepicker到textfield获取所选日期的日期名称的代码 我使用“Windows10,MySQL 5.7” 这就是我尝试的。我想在“txtDate”中获取日期的日期名称,并将其设置为txtDay,而不是手动添加它 datepicker字段的名称是txtDate) 文本字段的名称为txtDay)如何使用javafx显示从所选日期算起的日期?,javafx,Javafx,我想知道如何使用javafx和scenebuilder从datepicker到textfield获取所选日期的日期名称的代码 我使用“Windows10,MySQL 5.7” 这就是我尝试的。我想在“txtDate”中获取日期的日期名称,并将其设置为txtDay,而不是手动添加它 datepicker字段的名称是txtDate) 文本字段的名称为txtDay) 我创建了一个程序,它返回从日期选择器中选择日期的日期 这是我的主课- package application; import java
我创建了一个程序,它返回从日期选择器中选择日期的日期 这是我的主课-
package application;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("/application/main.fxml"));
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
这是我的控制器类-
package application;
import java.time.LocalDate;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.DatePicker;
import javafx.scene.control.Label;
public class MainController {
@FXML DatePicker datePicker;
@FXML Label dayLabel;
@FXML private void handleDatePickerEvent(ActionEvent e){
LocalDate localDate = datePicker.getValue();
dayLabel.setText(localDate.getDayOfWeek().toString());
}
}
这是我的FXML文件-
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.DatePicker?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="116.0" prefWidth="338.0" xmlns="http://javafx.com/javafx/8.0.102" xmlns:fx="http://javafx.com/fxml/1" fx:controller="application.MainController">
<children>
<DatePicker fx:id="datePicker" layoutX="150.0" layoutY="22.0" onAction="#handleDatePickerEvent" />
<Label fx:id="dayLabel" layoutX="150.0" layoutY="70.0" prefHeight="17.0" prefWidth="142.0" text="Label">
<font>
<Font name="System Bold" size="13.0" />
</font></Label>
<Label layoutX="56.0" layoutY="25.0" prefHeight="19.0" prefWidth="86.0" text="Date Picker :">
<font>
<Font name="System Bold" size="13.0" />
</font>
</Label>
<Label layoutX="102.0" layoutY="69.0" prefHeight="19.0" prefWidth="37.0" text="Day :">
<font>
<Font name="System Bold" size="13.0" />
</font>
</Label>
</children>
</AnchorPane>
我希望这对你有帮助
编辑:我在这个程序中使用了标签。你也可以使用文本字段,你应该只使用日期时间格式
范例
LocalDate day = LocalDate.now(); // or myDatePicker.getValue()
DateTimeFormatter format = DateTimeFormatter.ofPattern("EEEE", Locale.getDefault());
System.out.println(day.format(format));
myLabel.setText(day.format(format));
您将在“星期三”看到您想要的内容。只需两行代码即可完成此操作
LocalDate localDate = datePicker.getValue();
myLabel.setText(localDate.getDayOfWeek().toString());
我们不是“请编写我的代码”论坛。自己做吧,如果你没有进一步的了解,请描述你的问题,并将你迄今为止编写的代码发送给我们。如果你知道你需要什么,你可以通过谷歌搜索它,你会发现一些例子:DatePicker
的值是LocalDate
。检查有什么可用。这很糟糕,为什么要转换为Date代码>以及为什么切换案例
?是的!这似乎是一个非常糟糕的方法。因此我编辑了我的答案。现在,没有转换到日期
,也没有使用切换案例
。任务已经完成。