Javafx查询功能代码
时间: 2024-01-23 08:19:05 浏览: 29
以下是一个简单的JavaFX查询功能代码示例:
```java
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class QueryFunctionality extends Application {
private ObservableList<String> data = FXCollections.observableArrayList(
"John Doe", "Jane Doe", "Bob Smith", "Mary Johnson");
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Query Functionality");
// Create the grid pane
GridPane gridPane = new GridPane();
gridPane.setAlignment(Pos.CENTER);
gridPane.setHgap(10);
gridPane.setVgap(10);
gridPane.setPadding(new Insets(25, 25, 25, 25));
// Create the label and text field for the query
Label queryLabel = new Label("Query:");
gridPane.add(queryLabel, 0, 0);
TextField queryTextField = new TextField();
gridPane.add(queryTextField, 1, 0);
// Create the search button
Button searchButton = new Button("Search");
gridPane.add(searchButton, 2, 0);
searchButton.setOnAction(event -> {
String query = queryTextField.getText();
if (!query.isEmpty()) {
ObservableList<String> results = FXCollections.observableArrayList();
for (String item : data) {
if (item.contains(query)) {
results.add(item);
}
}
if (!results.isEmpty()) {
ListView<String> resultsListView = new ListView<>(results);
Scene resultsScene = new Scene(resultsListView, 300, 200);
Stage resultsStage = new Stage();
resultsStage.setScene(resultsScene);
resultsStage.setTitle("Results");
resultsStage.show();
} else {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("No Results");
alert.setHeaderText(null);
alert.setContentText("No results found.");
alert.showAndWait();
}
}
});
// Create the list view for the data
ListView<String> dataListView = new ListView<>(data);
gridPane.add(dataListView, 0, 1, 3, 1);
// Create the scene
Scene scene = new Scene(gridPane, 400, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
此代码创建了一个包含查询功能的JavaFX应用程序。用户可以在文本框中输入查询,并单击“Search”按钮。如果找到匹配项,则会显示包含结果的列表视图。如果没有找到匹配项,则会显示信息提示框。在此示例中,数据列表硬编码为字符串列表,但您可以将其替换为从数据库或其他数据源检索数据的代码。