我在一个文件中有一个包含棋盘游戏潜在走法的数组。通知玩家当前游戏状态的显示面板在另一个文件中。我试图在显示面板中将这个潜在的移动数组显示为菜单(或表格/组合框),但访问该数组时遇到问题,因为这两个代码位于不同的文件中。任何关于我如何展示内容的想法都将不胜感激。该数组位于我的Main.java中,其中包含大量代码,但我将在此处发布显示面板代码。该数组位于一个函数中,该函数不返回任何内容,并正常打印到控制台。我希望我已经能够清楚地表达我的问题,提前道歉。calculatemoves函数在Main.java中,而displayLabels函数在Displaypanel.java中
我试图创建一个Main对象,但这是不可能的,因为它扩展了应用程序(使用JavaFX)。
public void calculateMoves(int dice1, int dice2){
String[] potentialMoves = new String[500];
int k=0;
....
System.out.println("reach");
System.out.println("k: "+k);
for(k=k-1; k>=0; k--){
System.out.println(potentialMoves[k]);
}
ChoiceBox<String> choiceBox = new ChoiceBox<>();
choiceBox.getItems().addAll(potentialMoves);
}
public void displayLabels(){
if(gridSize < 31) {
int numOfLabels = gridSize;
int j = 0;
for (int i = numOfLabels; i > numOfLabels - 31; i--) {
GridPane.setConstraints(labels[i - 1], 0, j);
grid.getChildren().addAll(labels[i - 1]);
j++;
if (i - 1 == 0) break;
}
}
13-7 8-3 13-7 7-2 24-18 8-3 24-18 13-8 24-18 18-13应打印为菜单。这是我目前在我的控制台上得到的结果。
发布于 2019-03-25 05:07:00
您可以使用ComboBox。这是一种非常简单的方式。
class YourController implements Initializable{
@FXML
private JFXComboBox<String> cccombo;
@Override
public void initialize(URL url, ResourceBundle rb) {
ArrayList<String> yourArray = new ArrayList<>();
//fill your array
cccombo.setItems(FXCollections.observableList(yourArray));
}
}
https://stackoverflow.com/questions/55328367
复制相似问题