javafx 管理系统
时间: 2023-06-16 14:06:35 浏览: 161
JavaFX是Java平台上的一个GUI(图形用户界面)框架,可以用于开发各种类型的应用程序,包括管理系统。以下是一个简单的JavaFX管理系统的示例:
1. 首先,您需要创建一个JavaFX应用程序,并设置主舞台(stage)的基本布局和相关组件。
```java
public class ManagementSystem extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
// 创建主舞台
primaryStage.setTitle("JavaFX Management System");
// 创建布局
BorderPane layout = new BorderPane();
// 创建相关组件
Label titleLabel = new Label("Welcome to the Management System");
Button addButton = new Button("Add");
Button editButton = new Button("Edit");
Button deleteButton = new Button("Delete");
TableView tableView = new TableView();
// 将组件添加到布局中
layout.setTop(titleLabel);
layout.setLeft(addButton);
layout.setCenter(tableView);
layout.setRight(editButton);
layout.setBottom(deleteButton);
// 设置主舞台的场景
Scene scene = new Scene(layout, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
2. 接下来,您需要创建一个数据模型(model)类,用于管理系统中的数据。下面是一个简单的模型类示例:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
}
```
3. 然后,您需要将数据模型类与表格视图(TableView)组件相关联,并将数据添加到表格中。下面是一个简单的示例:
```java
// 创建数据
ObservableList<Person> data = FXCollections.observableArrayList(
new Person("John Doe", 30),
new Person("Jane Smith", 25),
new Person("Bob Johnson", 40)
);
// 创建表格列
TableColumn nameColumn = new TableColumn("Name");
nameColumn.setCellValueFactory(new PropertyValueFactory<>("name"));
TableColumn ageColumn = new TableColumn("Age");
ageColumn.setCellValueFactory(new PropertyValueFactory<>("age"));
// 将表格列添加到表格视图中
tableView.getColumns().addAll(nameColumn, ageColumn);
// 将数据添加到表格视图中
tableView.setItems(data);
```
4. 最后,您需要为“添加”、“编辑”和“删除”按钮添加事件处理程序,并在用户执行相应操作时更新表格视图中的数据。下面是一个简单的实现:
```java
// 添加按钮事件处理程序
addButton.setOnAction(event -> {
// 显示添加对话框
TextInputDialog dialog = new TextInputDialog();
dialog.setTitle("Add Person");
dialog.setHeaderText(null);
dialog.setContentText("Enter person name:");
Optional<String> result = dialog.showAndWait();
// 如果用户点击了“OK”按钮
result.ifPresent(name -> {
// 创建新的Person对象并将其添加到数据中
data.add(new Person(name, 0));
});
});
// 编辑按钮事件处理程序
editButton.setOnAction(event -> {
// 获取当前选择的Person对象
Person person = (Person) tableView.getSelectionModel().getSelectedItem();
if (person != null) {
// 显示编辑对话框
TextInputDialog dialog = new TextInputDialog(person.getName());
dialog.setTitle("Edit Person");
dialog.setHeaderText(null);
dialog.setContentText("Enter person name:");
Optional<String> result = dialog.showAndWait();
// 如果用户点击了“OK”按钮
result.ifPresent(name -> {
// 更新Person对象的名称
person.setName(name);
// 刷新表格视图
tableView.refresh();
});
}
});
// 删除按钮事件处理程序
deleteButton.setOnAction(event -> {
// 获取当前选择的Person对象
Person person = (Person) tableView.getSelectionModel().getSelectedItem();
if (person != null) {
// 从数据中删除Person对象
data.remove(person);
}
});
```
这只是一个简单的JavaFX管理系统示例,您可以根据您的实际需求进行修改和扩展。
阅读全文