增加侧边栏

This commit is contained in:
许轲 2023-08-31 01:56:50 +08:00
parent 3bd945a2e6
commit dec9193469
8 changed files with 104 additions and 14 deletions

View File

@ -1,6 +1,10 @@
package org.jcnc.jnotepad.root; package org.jcnc.jnotepad.root;
import org.jcnc.jnotepad.root.bottom.RootBottomSideBarVBox;
import org.jcnc.jnotepad.root.center.main.MainBorderPane; import org.jcnc.jnotepad.root.center.main.MainBorderPane;
import org.jcnc.jnotepad.root.left.sidebar.RootLeftSideBarVBox;
import org.jcnc.jnotepad.root.right.RootRightSideBarVBox;
import org.jcnc.jnotepad.root.top.RootTopSideBarVBox;
import org.jcnc.jnotepad.ui.module.AbstractBorderPane; import org.jcnc.jnotepad.ui.module.AbstractBorderPane;
public class RootBorderPane extends AbstractBorderPane { public class RootBorderPane extends AbstractBorderPane {
@ -13,6 +17,10 @@ public class RootBorderPane extends AbstractBorderPane {
private void initRootBorderPane() { private void initRootBorderPane() {
setCenterComponent(MainBorderPane.getInstance()); setCenterComponent(MainBorderPane.getInstance());
setLeftComponent(RootLeftSideBarVBox.getInstance());
setRightComponent(RootRightSideBarVBox.getInstance());
setTopComponent(RootTopSideBarVBox.getInstance());
setBottomComponent(RootBottomSideBarVBox.getInstance());
} }
public static RootBorderPane getInstance() { public static RootBorderPane getInstance() {

View File

@ -0,0 +1,22 @@
package org.jcnc.jnotepad.root.bottom;
import javafx.geometry.Insets;
import org.jcnc.jnotepad.ui.module.AbstractVBox;
public class RootBottomSideBarVBox extends AbstractVBox {
private static final RootBottomSideBarVBox INSTANCE = new RootBottomSideBarVBox();
private RootBottomSideBarVBox() {
initSidebarVBox();
}
private void initSidebarVBox() {
setPadding(new Insets(10));
setSpacing(10);
}
public static RootBottomSideBarVBox getInstance() {
return INSTANCE;
}
}

View File

@ -2,7 +2,7 @@ package org.jcnc.jnotepad.root.center.main;
import org.jcnc.jnotepad.root.center.main.bottom.status.JNotepadStatusBox; import org.jcnc.jnotepad.root.center.main.bottom.status.JNotepadStatusBox;
import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTabPane; import org.jcnc.jnotepad.root.center.main.center.tab.JNotepadTabPane;
import org.jcnc.jnotepad.root.center.main.top.RootTopVBox; import org.jcnc.jnotepad.root.center.main.top.MainTopVBox;
import org.jcnc.jnotepad.ui.module.AbstractBorderPane; import org.jcnc.jnotepad.ui.module.AbstractBorderPane;
public class MainBorderPane extends AbstractBorderPane { public class MainBorderPane extends AbstractBorderPane {
@ -18,7 +18,7 @@ public class MainBorderPane extends AbstractBorderPane {
this.setCenter(JNotepadTabPane.getInstance()); this.setCenter(JNotepadTabPane.getInstance());
this.setTopComponent(RootTopVBox.getInstance()); this.setTopComponent(MainTopVBox.getInstance());
} }
public static MainBorderPane getInstance() { public static MainBorderPane getInstance() {

View File

@ -4,16 +4,16 @@ import javafx.scene.layout.VBox;
import org.jcnc.jnotepad.root.center.main.top.menu.JNotepadMenuBar; import org.jcnc.jnotepad.root.center.main.top.menu.JNotepadMenuBar;
import org.jcnc.jnotepad.root.center.main.top.tools.ToolHBox; import org.jcnc.jnotepad.root.center.main.top.tools.ToolHBox;
public class RootTopVBox extends VBox { public class MainTopVBox extends VBox {
private static final RootTopVBox INSTANCE = new RootTopVBox(); private static final MainTopVBox INSTANCE = new MainTopVBox();
private RootTopVBox() { private MainTopVBox() {
// 在构造函数中初始化 // 在构造函数中初始化
getChildren().add(JNotepadMenuBar.getInstance()); getChildren().add(JNotepadMenuBar.getInstance());
getChildren().add(ToolHBox.getInstance()); getChildren().add(ToolHBox.getInstance());
} }
public static RootTopVBox getInstance() { public static MainTopVBox getInstance() {
return INSTANCE; return INSTANCE;
} }

View File

@ -0,0 +1,22 @@
package org.jcnc.jnotepad.root.left.sidebar;
import javafx.geometry.Insets;
import org.jcnc.jnotepad.ui.module.AbstractVBox;
public class RootLeftSideBarVBox extends AbstractVBox {
private static final RootLeftSideBarVBox INSTANCE = new RootLeftSideBarVBox();
private RootLeftSideBarVBox() {
initSidebarVBox();
}
private void initSidebarVBox() {
setPadding(new Insets(10));
setSpacing(10);
}
public static RootLeftSideBarVBox getInstance() {
return INSTANCE;
}
}

View File

@ -0,0 +1,22 @@
package org.jcnc.jnotepad.root.right;
import javafx.geometry.Insets;
import org.jcnc.jnotepad.ui.module.AbstractVBox;
public class RootRightSideBarVBox extends AbstractVBox {
private static final RootRightSideBarVBox INSTANCE = new RootRightSideBarVBox();
private RootRightSideBarVBox() {
initSidebarVBox();
}
private void initSidebarVBox() {
setPadding(new Insets(10));
setSpacing(10);
}
public static RootRightSideBarVBox getInstance() {
return INSTANCE;
}
}

View File

@ -0,0 +1,22 @@
package org.jcnc.jnotepad.root.top;
import javafx.geometry.Insets;
import org.jcnc.jnotepad.ui.module.AbstractVBox;
public class RootTopSideBarVBox extends AbstractVBox {
private static final RootTopSideBarVBox INSTANCE = new RootTopSideBarVBox();
private RootTopSideBarVBox() {
initSidebarVBox();
}
private void initSidebarVBox() {
setPadding(new Insets(10));
setSpacing(10);
}
public static RootTopSideBarVBox getInstance() {
return INSTANCE;
}
}

View File

@ -3,7 +3,7 @@ package org.jcnc.jnotepad.view.manager;
import javafx.scene.Scene; import javafx.scene.Scene;
import javafx.scene.layout.BorderPane; import javafx.scene.layout.BorderPane;
import org.jcnc.jnotepad.exception.AppException; import org.jcnc.jnotepad.exception.AppException;
import org.jcnc.jnotepad.root.center.main.MainBorderPane; import org.jcnc.jnotepad.root.RootBorderPane;
/** /**
@ -74,13 +74,7 @@ public class ViewManager {
// 创建主界面布局 // 创建主界面布局
root = new BorderPane(); root = new BorderPane();
root.setCenter(MainBorderPane.getInstance()); root.setCenter(RootBorderPane.getInstance());
// root.setTop(RootTopVBox.getInstance());
//
// // 创建标签页和文本编辑区域
// root.setCenter(JNotepadTabPane.getInstance());
// root.setBottom(JNotepadStatusBox.getInstance());
scene.setRoot(root); scene.setRoot(root);
} }