绘制主界面
This commit is contained in:
@@ -1,32 +1,35 @@
|
||||
package com.dayrain;
|
||||
|
||||
import com.dayrain.entity.Configuration;
|
||||
import com.dayrain.entity.ConfigurationHolder;
|
||||
import com.dayrain.entity.RequestType;
|
||||
import com.dayrain.entity.Server;
|
||||
import com.dayrain.entity.ServerConfig;
|
||||
import com.dayrain.entity.ServerUrl;
|
||||
import com.dayrain.views.HomePage;
|
||||
import javafx.application.Application;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.TitledPane;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ApplicationStarter extends Application {
|
||||
|
||||
Configuration configuration = configInit();
|
||||
public static void main(String[] args) {
|
||||
ConfigurationHolder.reload(get());
|
||||
Configuration configuration = ConfigurationHolder.get();
|
||||
List<ServerConfig> serverConfigs = configuration.getServerConfigs();
|
||||
for (ServerConfig serverConfig : serverConfigs) {
|
||||
Server server = new Server(serverConfig);
|
||||
Thread thread = new Thread(server);
|
||||
thread.start();
|
||||
}
|
||||
// launch(args);
|
||||
|
||||
|
||||
// List<ServerConfig> serverConfigs = configuration.getServerConfigs();
|
||||
// for (ServerConfig serverConfig : serverConfigs) {
|
||||
// Server server = new Server(serverConfig);
|
||||
// Thread thread = new Thread(server);
|
||||
// thread.start();
|
||||
// }
|
||||
launch(args);
|
||||
}
|
||||
|
||||
private static Configuration get() {
|
||||
private static Configuration configInit() {
|
||||
Configuration configuration = new Configuration();
|
||||
configuration.setServerConfigs(new ArrayList<ServerConfig>(){
|
||||
{
|
||||
@@ -45,12 +48,14 @@ public class ApplicationStarter extends Application {
|
||||
}));
|
||||
}
|
||||
});
|
||||
configuration.setWidth(1200);
|
||||
configuration.setHeight(800);
|
||||
|
||||
return configuration;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Stage primaryStage) throws Exception {
|
||||
|
||||
new HomePage(primaryStage, configuration).start();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,22 @@ import java.util.List;
|
||||
|
||||
public class Configuration {
|
||||
|
||||
private String projectName;
|
||||
|
||||
private int width;
|
||||
|
||||
private int height;
|
||||
|
||||
private List<ServerConfig>serverConfigs;
|
||||
|
||||
public String getProjectName() {
|
||||
return projectName;
|
||||
}
|
||||
|
||||
public void setProjectName(String projectName) {
|
||||
this.projectName = projectName;
|
||||
}
|
||||
|
||||
public List<ServerConfig> getServerConfigs() {
|
||||
return serverConfigs;
|
||||
}
|
||||
@@ -13,4 +27,20 @@ public class Configuration {
|
||||
public void setServerConfigs(List<ServerConfig> serverConfigs) {
|
||||
this.serverConfigs = serverConfigs;
|
||||
}
|
||||
|
||||
public int getWidth() {
|
||||
return width;
|
||||
}
|
||||
|
||||
public void setWidth(int width) {
|
||||
this.width = width;
|
||||
}
|
||||
|
||||
public int getHeight() {
|
||||
return height;
|
||||
}
|
||||
|
||||
public void setHeight(int height) {
|
||||
this.height = height;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.dayrain.entity;
|
||||
|
||||
public class ConfigurationHolder {
|
||||
|
||||
private static Configuration configuration;
|
||||
|
||||
public static void init() {
|
||||
configuration = new Configuration();
|
||||
}
|
||||
|
||||
public static void reload(Configuration config) {
|
||||
configuration = config;
|
||||
}
|
||||
|
||||
public static Configuration get() {
|
||||
return configuration;
|
||||
}
|
||||
}
|
||||
@@ -45,7 +45,6 @@ public class RequestHandler implements HttpHandler {
|
||||
}
|
||||
|
||||
private void response(HttpExchange exchange, String jsonBody) {
|
||||
setHeaders(exchange);
|
||||
try {
|
||||
exchange.sendResponseHeaders(200, jsonBody.length());
|
||||
exchange.setAttribute("Content-Type","application/json; charset=utf-8");
|
||||
@@ -56,33 +55,4 @@ public class RequestHandler implements HttpHandler {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void setHeaders(HttpExchange exchange) {
|
||||
Map<String, String> headerMap = serverUrl.getHeaderMap();
|
||||
if(headerMap != null && headerMap.size() > 0) {
|
||||
Headers responseHeaders = exchange.getResponseHeaders();
|
||||
for (String header : headerMap.keySet()) {
|
||||
responseHeaders.add(header, headerMap.get(header));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static Map<String,String> formData2Dic(String formData ) {
|
||||
Map<String,String> result = new HashMap<>();
|
||||
if(formData== null || formData.trim().length() == 0) {
|
||||
return result;
|
||||
}
|
||||
final String[] items = formData.split("&");
|
||||
Arrays.stream(items).forEach(item ->{
|
||||
final String[] keyAndVal = item.split("=");
|
||||
if( keyAndVal.length == 2) {
|
||||
try{
|
||||
final String key = URLDecoder.decode( keyAndVal[0],"utf8");
|
||||
final String val = URLDecoder.decode( keyAndVal[1],"utf8");
|
||||
result.put(key,val);
|
||||
}catch (UnsupportedEncodingException ignored) {}
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
68
src/com/dayrain/views/HomePage.java
Normal file
68
src/com/dayrain/views/HomePage.java
Normal file
@@ -0,0 +1,68 @@
|
||||
package com.dayrain.views;
|
||||
|
||||
import com.dayrain.entity.Configuration;
|
||||
import javafx.geometry.Pos;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.Menu;
|
||||
import javafx.scene.control.MenuBar;
|
||||
import javafx.scene.control.MenuItem;
|
||||
import javafx.scene.control.TitledPane;
|
||||
import javafx.scene.input.MouseEvent;
|
||||
import javafx.scene.layout.BorderPane;
|
||||
import javafx.scene.layout.HBox;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
public class HomePage {
|
||||
private Stage primaryStage;
|
||||
private Configuration configuration;
|
||||
|
||||
public HomePage(Stage primaryStage, Configuration configuration) {
|
||||
this.primaryStage = primaryStage;
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
public void start() {
|
||||
|
||||
BorderPane borderPane = new BorderPane();
|
||||
|
||||
//菜单栏
|
||||
MenuBar menuBar = new MenuBar();
|
||||
Menu menu1 = new Menu("文件");
|
||||
MenuItem menuItem1 = new MenuItem("新建");
|
||||
MenuItem menuItem2 = new MenuItem("导入");
|
||||
MenuItem menuItem3 = new MenuItem("导出");
|
||||
menu1.getItems().addAll(menuItem1, menuItem2, menuItem3);
|
||||
|
||||
Menu menu2 = new Menu("日志");
|
||||
Menu menu3 = new Menu("帮助");
|
||||
menuBar.getMenus().addAll(menu1, menu2, menu3);
|
||||
borderPane.setTop(menuBar);
|
||||
|
||||
|
||||
//服务列表
|
||||
VBox serverBox = new VBox();
|
||||
|
||||
HBox urlBox = new HBox();
|
||||
Label nameLabel = new Label("登录");
|
||||
Label urlLabel = new Label("/wms/login");
|
||||
Button configButton = new Button("配置");
|
||||
Button deleteButton = new Button("删除");
|
||||
urlBox.setSpacing(20d);
|
||||
urlBox.setAlignment(Pos.CENTER_LEFT);
|
||||
urlBox.getChildren().addAll(nameLabel, urlLabel, configButton, deleteButton);
|
||||
|
||||
TitledPane titledPane = new TitledPane("众华WMS", urlBox);
|
||||
titledPane.setPrefWidth(600d);
|
||||
serverBox.getChildren().addAll(titledPane);
|
||||
|
||||
borderPane.setLeft(serverBox);
|
||||
|
||||
primaryStage.setScene(new Scene(borderPane));
|
||||
primaryStage.setWidth(configuration.getWidth());
|
||||
primaryStage.setHeight(configuration.getHeight());
|
||||
primaryStage.show();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user