refactor: 重构了顶部工具栏的样式
This commit is contained in:
@@ -16,26 +16,6 @@ import java.net.URL;
|
|||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
public class Controller implements Initializable {
|
public class Controller implements Initializable {
|
||||||
@FXML
|
|
||||||
private Button newSlideButton;
|
|
||||||
@FXML
|
|
||||||
private Button newPageButton;
|
|
||||||
@FXML
|
|
||||||
private Button deletePageButton;
|
|
||||||
@FXML
|
|
||||||
private Button addTextButton;
|
|
||||||
@FXML
|
|
||||||
private Button addLineButton;
|
|
||||||
@FXML
|
|
||||||
private Button addRectButton;
|
|
||||||
@FXML
|
|
||||||
private Button addCircleButton;
|
|
||||||
@FXML
|
|
||||||
private Button addEllipseButton;
|
|
||||||
@FXML
|
|
||||||
private Button addImageButton;
|
|
||||||
@FXML
|
|
||||||
private Button logout;
|
|
||||||
@FXML
|
@FXML
|
||||||
private ListView<SlidePage> pageListView;
|
private ListView<SlidePage> pageListView;
|
||||||
@FXML
|
@FXML
|
||||||
@@ -46,14 +26,6 @@ public class Controller implements Initializable {
|
|||||||
private VBox propertyPanelContainer;
|
private VBox propertyPanelContainer;
|
||||||
@FXML
|
@FXML
|
||||||
private AnchorPane scenePane;
|
private AnchorPane scenePane;
|
||||||
@FXML
|
|
||||||
private Button openSlideButton; // 添加打开幻灯片按钮
|
|
||||||
@FXML
|
|
||||||
private Button saveSlideButton; // 添加保存幻灯片按钮
|
|
||||||
@FXML
|
|
||||||
private Button exportPageButton; // 添加导出页面按钮
|
|
||||||
@FXML
|
|
||||||
private Button exportSlideButton; // 添加导出幻灯片按钮
|
|
||||||
|
|
||||||
private Slide currentSlide;
|
private Slide currentSlide;
|
||||||
private DrawingCanvas drawingCanvas;
|
private DrawingCanvas drawingCanvas;
|
||||||
@@ -63,14 +35,6 @@ public class Controller implements Initializable {
|
|||||||
@Override
|
@Override
|
||||||
public void initialize(URL url, ResourceBundle resourceBundle) {
|
public void initialize(URL url, ResourceBundle resourceBundle) {
|
||||||
pageListView.setDisable(true);
|
pageListView.setDisable(true);
|
||||||
newPageButton.setDisable(true);
|
|
||||||
deletePageButton.setDisable(true);
|
|
||||||
addTextButton.setDisable(true);
|
|
||||||
addLineButton.setDisable(true);
|
|
||||||
addRectButton.setDisable(true);
|
|
||||||
addCircleButton.setDisable(true);
|
|
||||||
addEllipseButton.setDisable(true);
|
|
||||||
addImageButton.setDisable(true);
|
|
||||||
|
|
||||||
// 添加页面列表选择监听
|
// 添加页面列表选择监听
|
||||||
pageListView.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> {
|
pageListView.getSelectionModel().selectedItemProperty().addListener((obs, oldVal, newVal) -> {
|
||||||
@@ -100,7 +64,7 @@ public class Controller implements Initializable {
|
|||||||
alert.setTitle("成功");
|
alert.setTitle("成功");
|
||||||
alert.setHeaderText("幻灯片已创建");
|
alert.setHeaderText("幻灯片已创建");
|
||||||
alert.setContentText("幻灯片 \"" + slideName + "\" 已创建。");
|
alert.setContentText("幻灯片 \"" + slideName + "\" 已创建。");
|
||||||
stage = (Stage) newSlideButton.getScene().getWindow();
|
stage = (Stage) scenePane.getScene().getWindow();
|
||||||
if (stage != null) {
|
if (stage != null) {
|
||||||
stage.setTitle("Hyperpoint - " + slideName);
|
stage.setTitle("Hyperpoint - " + slideName);
|
||||||
}
|
}
|
||||||
@@ -118,14 +82,6 @@ public class Controller implements Initializable {
|
|||||||
if (currentSlide != null) {
|
if (currentSlide != null) {
|
||||||
pageListView.setItems(currentSlide.getPages());
|
pageListView.setItems(currentSlide.getPages());
|
||||||
pageListView.setDisable(false);
|
pageListView.setDisable(false);
|
||||||
newPageButton.setDisable(false);
|
|
||||||
deletePageButton.setDisable(false);
|
|
||||||
addTextButton.setDisable(false);
|
|
||||||
addLineButton.setDisable(false);
|
|
||||||
addRectButton.setDisable(false);
|
|
||||||
addCircleButton.setDisable(false);
|
|
||||||
addEllipseButton.setDisable(false);
|
|
||||||
addImageButton.setDisable(false);
|
|
||||||
|
|
||||||
if (!currentSlide.getPages().isEmpty()) {
|
if (!currentSlide.getPages().isEmpty()) {
|
||||||
pageListView.getSelectionModel().selectFirst();
|
pageListView.getSelectionModel().selectFirst();
|
||||||
@@ -329,7 +285,7 @@ public class Controller implements Initializable {
|
|||||||
new FileChooser.ExtensionFilter("所有文件", "*.*")
|
new FileChooser.ExtensionFilter("所有文件", "*.*")
|
||||||
);
|
);
|
||||||
|
|
||||||
stage = (Stage) addImageButton.getScene().getWindow();
|
stage = (Stage) scenePane.getScene().getWindow();
|
||||||
File file = fileChooser.showOpenDialog(stage);
|
File file = fileChooser.showOpenDialog(stage);
|
||||||
|
|
||||||
if (file != null) {
|
if (file != null) {
|
||||||
@@ -349,7 +305,7 @@ public class Controller implements Initializable {
|
|||||||
alert.setContentText("点击确定退出,点击取消返回。");
|
alert.setContentText("点击确定退出,点击取消返回。");
|
||||||
|
|
||||||
if (alert.showAndWait().orElse(null) == MyAlert.isOK()) {
|
if (alert.showAndWait().orElse(null) == MyAlert.isOK()) {
|
||||||
stage = (Stage) logout.getScene().getWindow();
|
stage = (Stage) scenePane.getScene().getWindow();
|
||||||
stage.close();
|
stage.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -366,7 +322,7 @@ public class Controller implements Initializable {
|
|||||||
new FileChooser.ExtensionFilter("所有文件", "*.*")
|
new FileChooser.ExtensionFilter("所有文件", "*.*")
|
||||||
);
|
);
|
||||||
|
|
||||||
stage = (Stage) openSlideButton.getScene().getWindow();
|
stage = (Stage) scenePane.getScene().getWindow();
|
||||||
File file = fileChooser.showOpenDialog(stage);
|
File file = fileChooser.showOpenDialog(stage);
|
||||||
|
|
||||||
if (file != null) {
|
if (file != null) {
|
||||||
@@ -411,7 +367,7 @@ public class Controller implements Initializable {
|
|||||||
);
|
);
|
||||||
fileChooser.setInitialFileName(currentSlide.getName() + ".hyperpoint");
|
fileChooser.setInitialFileName(currentSlide.getName() + ".hyperpoint");
|
||||||
|
|
||||||
stage = (Stage) saveSlideButton.getScene().getWindow();
|
stage = (Stage) scenePane.getScene().getWindow();
|
||||||
File file = fileChooser.showSaveDialog(stage);
|
File file = fileChooser.showSaveDialog(stage);
|
||||||
|
|
||||||
if (file != null) {
|
if (file != null) {
|
||||||
@@ -457,7 +413,7 @@ public class Controller implements Initializable {
|
|||||||
fileChooser.setInitialFileName(currentPage.getTitle() + ".png");
|
fileChooser.setInitialFileName(currentPage.getTitle() + ".png");
|
||||||
}
|
}
|
||||||
|
|
||||||
stage = (Stage) exportPageButton.getScene().getWindow();
|
stage = (Stage) scenePane.getScene().getWindow();
|
||||||
File file = fileChooser.showSaveDialog(stage);
|
File file = fileChooser.showSaveDialog(stage);
|
||||||
|
|
||||||
if (file != null) {
|
if (file != null) {
|
||||||
@@ -495,7 +451,7 @@ public class Controller implements Initializable {
|
|||||||
);
|
);
|
||||||
fileChooser.setInitialFileName(currentSlide.getName() + ".pdf");
|
fileChooser.setInitialFileName(currentSlide.getName() + ".pdf");
|
||||||
|
|
||||||
stage = (Stage) exportSlideButton.getScene().getWindow();
|
stage = (Stage) scenePane.getScene().getWindow();
|
||||||
File file = fileChooser.showSaveDialog(stage);
|
File file = fileChooser.showSaveDialog(stage);
|
||||||
|
|
||||||
if (file != null) {
|
if (file != null) {
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
<?import javafx.scene.layout.HBox?>
|
<?import javafx.scene.layout.HBox?>
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
|
|
||||||
|
<?import javafx.scene.control.MenuButton?>
|
||||||
|
<?import javafx.scene.control.MenuItem?>
|
||||||
<AnchorPane fx:id="scenePane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="700.0" prefWidth="1300.0" xmlns="http://javafx.com/javafx/25" xmlns:fx="http://javafx.com/fxml/1" fx:controller="dev.bytevibe.hyperpoint.Controller">
|
<AnchorPane fx:id="scenePane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="700.0" prefWidth="1300.0" xmlns="http://javafx.com/javafx/25" xmlns:fx="http://javafx.com/fxml/1" fx:controller="dev.bytevibe.hyperpoint.Controller">
|
||||||
<children>
|
<children>
|
||||||
<!-- 顶部菜单栏 -->
|
<!-- 顶部菜单栏 -->
|
||||||
@@ -14,22 +16,45 @@
|
|||||||
<children>
|
<children>
|
||||||
<HBox spacing="5" style="-fx-padding: 5;">
|
<HBox spacing="5" style="-fx-padding: 5;">
|
||||||
<children>
|
<children>
|
||||||
<Button fx:id="newSlideButton" mnemonicParsing="false" onAction="#onNewSlide" text="新建幻灯片" />
|
<!-- 文件菜单 -->
|
||||||
<Button fx:id="openSlideButton" mnemonicParsing="false" onAction="#onOpenSlideFile" text="打开幻灯片" />
|
<MenuButton mnemonicParsing="false" text="文件">
|
||||||
<Button fx:id="newPageButton" mnemonicParsing="false" onAction="#onNewPage" text="新建页面" />
|
<items>
|
||||||
<Button fx:id="deletePageButton" mnemonicParsing="false" onAction="#onDeletePage" text="删除页面" />
|
<MenuItem mnemonicParsing="false" onAction="#onNewSlide" text="新建幻灯片" />
|
||||||
<Button fx:id="saveSlideButton" mnemonicParsing="false" onAction="#onSaveSlide" text="保存幻灯片" />
|
<MenuItem mnemonicParsing="false" onAction="#onOpenSlideFile" text="打开幻灯片" />
|
||||||
<Button fx:id="exportPageButton" mnemonicParsing="false" onAction="#onExportPage" text="导出页面" />
|
<MenuItem mnemonicParsing="false" onAction="#onSaveSlide" text="保存幻灯片" />
|
||||||
<Button fx:id="exportSlideButton" mnemonicParsing="false" onAction="#onExportSlide" text="导出幻灯片" />
|
<MenuItem mnemonicParsing="false" onAction="#onExportSlide" text="导出幻灯片(PDF)" />
|
||||||
|
</items>
|
||||||
|
</MenuButton>
|
||||||
|
|
||||||
|
<!-- 页面菜单 -->
|
||||||
|
<MenuButton mnemonicParsing="false" text="页面">
|
||||||
|
<items>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onNewPage" text="新建页面" />
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onDeletePage" text="删除页面" />
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onExportPage" text="导出页面(图片)" />
|
||||||
|
</items>
|
||||||
|
</MenuButton>
|
||||||
|
|
||||||
|
<!-- 插入菜单 -->
|
||||||
|
<MenuButton mnemonicParsing="false" text="插入">
|
||||||
|
<items>
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onAddText" text="文本框" />
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onAddLine" text="直线" />
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onAddRectangle" text="矩形" />
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onAddCircle" text="圆形" />
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onAddEllipse" text="椭圆" />
|
||||||
|
<MenuItem mnemonicParsing="false" onAction="#onAddImage" text="图片" />
|
||||||
|
</items>
|
||||||
|
</MenuButton>
|
||||||
|
|
||||||
<Label text=" | " />
|
<Label text=" | " />
|
||||||
<Button fx:id="addTextButton" mnemonicParsing="false" onAction="#onAddText" text="添加文本" />
|
|
||||||
<Button fx:id="addLineButton" mnemonicParsing="false" onAction="#onAddLine" text="直线" />
|
<!-- 退出菜单 -->
|
||||||
<Button fx:id="addRectButton" mnemonicParsing="false" onAction="#onAddRectangle" text="矩形" />
|
<MenuButton mnemonicParsing="false" text="更多">
|
||||||
<Button fx:id="addCircleButton" mnemonicParsing="false" onAction="#onAddCircle" text="圆形" />
|
<items>
|
||||||
<Button fx:id="addEllipseButton" mnemonicParsing="false" onAction="#onAddEllipse" text="椭圆" />
|
<MenuItem mnemonicParsing="false" onAction="#logout" text="退出应用" />
|
||||||
<Button fx:id="addImageButton" mnemonicParsing="false" onAction="#onAddImage" text="插入图片" />
|
</items>
|
||||||
<Label text=" | " />
|
</MenuButton>
|
||||||
<Button fx:id="logout" mnemonicParsing="false" onAction="#logout" text="退出" />
|
|
||||||
</children>
|
</children>
|
||||||
</HBox>
|
</HBox>
|
||||||
</children>
|
</children>
|
||||||
|
|||||||
Reference in New Issue
Block a user