import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class ComboBoxSample extends Application {
public static void main(String[] args) {
launch(args);
}
final Button button = new Button ("Send");
final Label notification = new Label();
final TextField subject = new TextField("");
final TextArea text = new TextArea ("");
String address = " ";
@Override public void start(Stage stage) {
stage.setTitle("ComboBoxSample");
Scene scene = new Scene(new Group(), 500, 270);
final ComboBox emailComboBox = new ComboBox();
emailComboBox.getItems().addAll(
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]"
);
final ComboBox priorityComboBox = new ComboBox();
priorityComboBox.getItems().addAll(
"Highest",
"High",
"Normal",
"Low",
"Lowest"
);
priorityComboBox.setValue("Normal");
GridPane grid = new GridPane();
grid.setVgap(4);
grid.setHgap(10);
grid.setPadding(new Insets(5, 5, 5, 5));
grid.add(new Label("To: "), 0, 0);
grid.add(emailComboBox, 1, 0);
grid.add(new Label("Priority: "), 2, 0);
grid.add(priorityComboBox, 3, 0);
grid.add(new Label("Subject: "), 0, 1);
grid.add(subject, 1, 1, 3, 1);
grid.add(text, 0, 2, 4, 1);
grid.add(button, 0, 3);
grid.add (notification, 1, 3, 3, 1);
Group root = (Group)scene.getRoot();
root.getChildren().add(grid);
stage.setScene(scene);
stage.show();
}
}
來源:http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/combo-box.htm#BABJCCIB編輯ComboBox JavaFX中:工作在NetBeans中,JAR文件不起作用
,當我從NetBeans中運行該代碼的工作就好了。但是,從JAR文件(從CMD或文件夾視圖)運行它時,ComboBox存在問題。程序會忽略我在ComboBox中輸入的所有內容,如果在編輯之前該框爲空,則顯示「您沒有選擇收件人!」。 如果選擇了列表中的收件人並進行編輯,程序將忽略編輯並將其發送給收件人。
我和我自己的代碼有同樣的問題,這就是爲什麼我測試了Oracle編寫的代碼。我猜測NetBeans設置一定有問題,但我不知道該怎麼做。
是否有可能您的系統Java版本與NetBeans使用的版本不同?嘗試打印出'System.getProperty(「java.version」)',看看你是否得到不同的結果。 – Itai
NetBeans版本:1.8.0_45 系統版本:1.8.0_60 – Jery33