如何用 JavaFX 编辑 ComboBox?
组合框类似于选项框,它包含多项内容,并允许你选择其中一项。它可以通过在下拉列表中添加滚动条来形成。你可以通过实例化 javafx.scene.control.ComboBox 类来创建组合框。
ComboBox 类有一个名为 editable(布尔值)的方法,它指定当前组合框是否允许用户输入。你可以使用 setEditable() 方法为该属性设置值。
因此,要编辑 JavaFX ComboBox,请在它上面调用 setEditable() 方法,并传入布尔值 true 作为参数。
例子
import javafx.application.Application; import javafx.collections.ObservableList; import javafx.geometry.Insets; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; import javafx.stage.Stage; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontPosture; import javafx.scene.text.FontWeight; public class ComboBoxEditable extends Application { @Override public void start(Stage stage) { //Setting the label Label label = new Label("Select Desired Course:"); Font font = Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 12); label.setFont(font); //Creating a combo box ComboBox<String> combo = new ComboBox<String>(); //Getting the observable list of the combo box ObservableList<String> list = combo.getItems(); //Adding items to the combo box list.add("Java"); list.add("C++"); list.add("Python"); list.add("Big Data"); list.add("Machine Learning"); //Setting the combo box editable combo.setEditable(true); HBox hbox = new HBox(15); //Setting the space between the nodes of a HBox pane hbox.setPadding(new Insets(75, 150, 50, 60)); hbox.getChildren().addAll(label, combo); //Creating a scene object Scene scene = new Scene(new Group(hbox), 595, 280, Color.BEIGE); stage.setTitle("Combo Box"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出
广告