feat(ui): 添加返回按钮并优化界面布局
- 在数据抓取页面添加返回按钮 - 实现返回上一场景的功能 - 重新组织按钮区域布局 - 优化按钮样式和交互效果 - 调整主容器组件排列顺序 - 增加平台选择页面的代码结构调整
This commit is contained in:
@@ -16,8 +16,12 @@ public class DataCrawlView {
|
|||||||
private DatePicker startDatePicker;
|
private DatePicker startDatePicker;
|
||||||
private DatePicker endDatePicker;
|
private DatePicker endDatePicker;
|
||||||
private Button crawlButton;
|
private Button crawlButton;
|
||||||
|
private Stage primaryStage;
|
||||||
|
private Scene previousScene;
|
||||||
|
|
||||||
public DataCrawlView(Stage primaryStage) {
|
public DataCrawlView(Stage primaryStage) {
|
||||||
|
this.primaryStage = primaryStage;
|
||||||
|
this.previousScene = primaryStage.getScene();
|
||||||
initialize(primaryStage);
|
initialize(primaryStage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,6 +85,28 @@ public class DataCrawlView {
|
|||||||
formPane.add(endDateLabel, 0, 2);
|
formPane.add(endDateLabel, 0, 2);
|
||||||
formPane.add(endDatePicker, 1, 2);
|
formPane.add(endDatePicker, 1, 2);
|
||||||
|
|
||||||
|
// 按钮区域
|
||||||
|
HBox buttonBox = new HBox();
|
||||||
|
buttonBox.setAlignment(Pos.CENTER);
|
||||||
|
buttonBox.setSpacing(20);
|
||||||
|
|
||||||
|
// 返回按钮
|
||||||
|
Button backButton = new Button("返回");
|
||||||
|
backButton.setStyle("-fx-background-color: #cccccc; -fx-text-fill: #333333; " +
|
||||||
|
"-fx-font-size: 16px; -fx-font-weight: bold; -fx-padding: 12px 36px; " +
|
||||||
|
"-fx-border-radius: 30px; -fx-background-radius: 30px; " +
|
||||||
|
"-fx-effect: dropshadow(gaussian, rgba(0,0,0,0.2), 10, 0, 0, 0);");
|
||||||
|
backButton.setCursor(javafx.scene.Cursor.HAND);
|
||||||
|
backButton.setOnMouseEntered(e -> backButton.setStyle("-fx-background-color: #bbbbbb; " +
|
||||||
|
"-fx-text-fill: #333333; -fx-font-size: 16px; -fx-font-weight: bold; " +
|
||||||
|
"-fx-padding: 12px 36px; -fx-border-radius: 30px; -fx-background-radius: 30px; " +
|
||||||
|
"-fx-effect: dropshadow(gaussian, rgba(0,0,0,0.3), 15, 0, 0, 0);"));
|
||||||
|
backButton.setOnMouseExited(e -> backButton.setStyle("-fx-background-color: #cccccc; " +
|
||||||
|
"-fx-text-fill: #333333; -fx-font-size: 16px; -fx-font-weight: bold; " +
|
||||||
|
"-fx-padding: 12px 36px; -fx-border-radius: 30px; -fx-background-radius: 30px; " +
|
||||||
|
"-fx-effect: dropshadow(gaussian, rgba(0,0,0,0.2), 10, 0, 0, 0);"));
|
||||||
|
backButton.setOnAction(e -> handleBackAction());
|
||||||
|
|
||||||
// 开始抓取按钮
|
// 开始抓取按钮
|
||||||
crawlButton = new Button("开始抓取");
|
crawlButton = new Button("开始抓取");
|
||||||
crawlButton.setStyle("-fx-background-color: #4CAF50; -fx-text-fill: white; " +
|
crawlButton.setStyle("-fx-background-color: #4CAF50; -fx-text-fill: white; " +
|
||||||
@@ -100,8 +126,11 @@ public class DataCrawlView {
|
|||||||
// 为按钮添加点击事件
|
// 为按钮添加点击事件
|
||||||
crawlButton.setOnAction(e -> handleCrawlAction());
|
crawlButton.setOnAction(e -> handleCrawlAction());
|
||||||
|
|
||||||
|
// 添加按钮到按钮区域
|
||||||
|
buttonBox.getChildren().addAll(backButton, crawlButton);
|
||||||
|
|
||||||
// 将组件添加到主容器
|
// 将组件添加到主容器
|
||||||
root.getChildren().addAll(titleLabel, formPane, crawlButton);
|
root.getChildren().addAll(titleLabel, formPane, buttonBox);
|
||||||
|
|
||||||
// 设置场景并显示窗口
|
// 设置场景并显示窗口
|
||||||
Scene scene = new Scene(root, 500, 450);
|
Scene scene = new Scene(root, 500, 450);
|
||||||
@@ -141,6 +170,14 @@ public class DataCrawlView {
|
|||||||
"数据抓取任务已启动!");
|
"数据抓取任务已启动!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void handleBackAction() {
|
||||||
|
if (previousScene != null) {
|
||||||
|
primaryStage.setScene(previousScene);
|
||||||
|
} else {
|
||||||
|
new PlatformSelectionView(primaryStage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void showAlert(Alert.AlertType alertType, String title, String content) {
|
private void showAlert(Alert.AlertType alertType, String title, String content) {
|
||||||
Alert alert = new Alert(alertType);
|
Alert alert = new Alert(alertType);
|
||||||
alert.setTitle(title);
|
alert.setTitle(title);
|
||||||
|
|||||||
Reference in New Issue
Block a user