我试图找到一种在月视图和周视图之间切换JavaFX DatePicker的方法。我是JavaFX的新手,也是Java的新手。我甚至不确定JavaFX中是否有可用的周视图。
我已经搜索了其他StackOverflow问题,并且发现了大多数关于Android开发的答案,这些答案并没有真正回答我的问题。我正在处理的应用程序将成为桌面应用程序。
以下是我尝试解决这个问题的一些示例代码 -
主类:
package Application;
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class Main extends Application {
private Stage primaryStage;
@Override
public void start(Stage primaryStage) {
this.primaryStage = primaryStage;
mainWindow();
}
public void mainWindow() {
try {
FXMLLoader loader = new FXMLLoader(Main.class.getResource("DatePickerView.fxml"));
AnchorPane pane = loader.load();
Scene scene = new Scene(pane);
MainWindowController mainWindowController = loader.getController();
mainWindowController.setMain(this);
primaryStage.setScene(scene);
primaryStage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
主控制器:
package Application;
import javafx.fxml.FXML;
import javafx.scene.control.DatePicker;
public class MainWindowController {
@FXML private DatePicker datePicker;
private Main main;
public void setMain(Main main){
this.main = main;
}
}
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="300.0" prefWidth="500.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="Application.MainWindowController">
<children>
<DatePicker fx:id="datePicker" layoutX="141.0" layoutY="94.0" />
</children>
</AnchorPane>
这只是一个非常简单的窗口,我写了一个DatePicker来试图解决这个问题。如果有人知道在DatePicker中切换到周视图的方法,我会非常感谢任何见解。