我有一个数组,其中包含一个棋盘游戏的潜在动作。通知玩家当前游戏状态的显示面板在另一个文件中。我试图在显示面板中以菜单(或表格/组合框)的形式显示这种潜在的移动数组,但是由于两个代码位于单独的文件中,因此在访问数组时遇到问题。对于如何显示内容的任何想法将不胜感激。该数组在我的Main.java中,其中包含大量代码,但是我将在此处发布显示面板代码。该数组位于不返回任何内容并可以正常打印到控制台的函数中。我希望我能够预先指出我的问题,对此表示歉意。 displaymovels函数在Main.java中,而displayLabels函数在Displaypanel.java中。
我试图创建Main对象,但由于它扩展了Application(使用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应该作为菜单打印。这是我目前在控制台上看到的那种结果。
答案 0 :(得分:1)
您可以使用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));
}
}