Руководство JavaFX ChoiceDialog
1. JavaFX ChoiceDialog
ChoiceDialog это подкласс класса Dialog. Он отображает список выбора для пользователя, и пользователь может выбрать максимум один пункт.
Это изображение стандартного ChoiceDialog:
Если вы не настроите Header Text, Title, Content Text, то ниже является изображение ChoiceDialog по умолчанию.
** Code **
Book java = new Book(1L, "J01", "Java Tutorial for Beginners");
Book csharp = new Book(2L, "C01", "CSharp Tutoral for Beginners");
Book python = new Book(3L, "P01", "Python for Beginners");
Book defaultBook = csharp;
ChoiceDialog<Book> dialog = new ChoiceDialog<Book>(defaultBook, java, csharp, python);
dialog.setTitle("o7planning");
dialog.setHeaderText("Select a Book:");
dialog.setContentText("Book:");
Optional<Book> result = dialog.showAndWait();
result.ifPresent(book -> {
this.label.setText(book.getName());
});
Используйте следующий код, если вы хотите скрыть регион Header (Header region):
dialog.setHeaderText(null);
2. Пример ChoiceDialog
ChoiceDialogExample.java
package org.o7planning.javafx.choicedialog;
import java.util.Optional;
import org.o7planning.javafx.model.Book;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ChoiceDialog;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class ChoiceDialogExample extends Application {
private Label label;
private void showChoiceDialog() {
Book java = new Book(1L, "J01", "Java Tutorial for Beginners");
Book csharp = new Book(2L, "C01", "CSharp Tutoral for Beginners");
Book python = new Book(3L, "P01", "Python for Beginners");
Book defaultBook = csharp;
ChoiceDialog<Book> dialog = new ChoiceDialog<Book>(defaultBook, java, csharp, python);
dialog.setTitle("o7planning");
dialog.setHeaderText("Select a Book:");
dialog.setContentText("Book:");
Optional<Book> result = dialog.showAndWait();
result.ifPresent(book -> {
this.label.setText(book.getName());
});
}
@Override
public void start(Stage stage) {
VBox root = new VBox();
root.setPadding(new Insets(10));
root.setSpacing(10);
this.label = new Label();
Button button = new Button("Select a book");
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
showChoiceDialog();
}
});
root.getChildren().addAll(button, label);
Scene scene = new Scene(root, 450, 250);
stage.setTitle("JavaFX ChoiceDialog (o7planning.org)");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]) {
launch(args);
}
}
Book.java
package org.o7planning.javafx.model;
public class Book {
private Long id;
private String code;
private String name;
public Book(Long id, String code, String name) {
this.id = id;
this.code = code;
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return this.name;
}
}
Руководства JavaFX
- Откройте новое окно (window) в JavaFX
- Руководство JavaFX ChoiceDialog
- Руководство JavaFX Alert Dialog
- Руководство JavaFX TextInputDialog
- Установите e(fx)clipse для Eclipse (JavaFX Tooling)
- Установите JavaFX Scene Builder для Eclipse
- Руководство JavaFX для начинающих - Hello JavaFX
- Руководство JavaFX FlowPane Layout
- Руководство JavaFX TilePane Layout
- Руководство JavaFX HBox, VBox Layout
- Руководство JavaFX BorderPane Layout
- Руководство JavaFX AnchorPane Layout
- Руководство JavaFX TitledPane
- Руководство JavaFX Accordion
- Руководство JavaFX ListView
- Руководство JavaFX Group
- Руководство JavaFX ComboBox
- Руководство JavaFX Transformations
- Эффекты (effects) в JavaFX
- Руководство JavaFX GridPane Layout
- Руководство JavaFX StackPane Layout
- Руководство JavaFX ScrollPane
- Руководство JavaFX WebView и WebEngine
- Руководство JavaFX HTMLEditor
- Руководство JavaFX TableView
- Руководство JavaFX TreeView
- Руководство JavaFX TreeTableView
- Руководство JavaFX Menu
- Руководство JavaFX ContextMenu
- Руководство JavaFX Image и ImageView
- Руководство JavaFX Label
- Руководство JavaFX Hyperlink
- Руководство JavaFX Button
- Руководство JavaFX ToggleButton
- Руководство JavaFX RadioButton
- Руководство JavaFX MenuButton и SplitMenuButton
- Руководство JavaFX TextField
- Руководство JavaFX PasswordField
- Руководство JavaFX TextArea
- Руководство JavaFX Slider
- Руководство JavaFX Spinner
- Руководство JavaFX ProgressBar и ProgressIndicator
- Руководство JavaFX ChoiceBox
- Руководство JavaFX Tooltip
- Руководство JavaFX DatePicker
- Руководство JavaFX ColorPicker
- Руководство JavaFX FileChooser и DirectoryChooser
- Руководство JavaFX PieChart
- Руководство JavaFX AreaChart и StackedAreaChart
- Руководство JavaFX BarChart и StackedBarChart
- Руководство JavaFX Line
- Руководство JavaFX Rectangle и Ellipse
Show More