【发布时间】:2016-11-18 18:58:04
【问题描述】:
我无法将我的字符串值打印到我构建的 GUI ComboBox 中。本质上,每次我将 cbGameComboBox 的值分配给 JavaFX 程序时,当我尝试启动 GUI 时,它都会给我一个非法参数异常。完整代码在我的 GitHub 上:https://github.com/jparr721/Blue-Box2
我需要帮助的代码如下。
控制器类:
public class RentGameDialogController extends RentalStoreGUIController implements Initializable{
@FXML private TextField nameField, rentedOn, dueBack;
String name;
Date dateRentedOn, dateDue;
GregorianCalendar rented, due;
@FXML private ObservableList<String> cbGameOptions;
@FXML private ComboBox<String> cbGame;
@FXML ComboBox<PlayerType> cbConsole;
@FXML Button cancel, addToCart;
int counter = 0;
private Stage currentStage;
@Override
public void initialize(URL location, ResourceBundle resources) {
cbGameOptions = FXCollections.observableArrayList();
cbGameOptions.add("The Witcher 3");
cbGameOptions.add("Call of Duty: Advanced Warfare");
cbGameOptions.add("Call of Duty: Infinite Warfare");
cbGameOptions.add("The Elder Scrolls IV: Skyrim");
cbGame.setItems(cbGameOptions);
}
public void getName(){
name = nameField.getText();
try {
String[] firstLast = name.split(" ");
String firstName = firstLast[0];
String lastName = firstLast[1];
} catch (Exception e){
e.printStackTrace();
}
}
public void getRentedOn() throws ParseException {
DateFormat format = new SimpleDateFormat("MM/dd/yy");
dateRentedOn = format.parse(rentedOn.getText());
rented.setTime(dateRentedOn);
}
public void getDueBack() throws ParseException {
DateFormat format = new SimpleDateFormat("MM/dd/yy");
dateDue = format.parse(dueBack.getText());
due.setTime(dateDue);
}
@FXML
public void handleCancelButtonAction (ActionEvent event) {
currentStage = (Stage) cancel.getScene().getWindow();
currentStage.close();
}
@FXML
public void addToCartButton (ActionEvent event) {
currentStage = (Stage) cancel.getScene().getWindow();
currentStage.close();
}}
【问题讨论】:
-
请在您的实际问题中发布 FXML。发布一个没有足够详细信息来简单回答的问题会鼓励人们猜测答案。
-
“它给了我一个非法参数异常” 编辑您的问题并包含该 IllegalArgumentException 的完整堆栈跟踪。它准确地告诉我们(和您)是哪一行代码导致了问题。