如何使用JavaFXGUI显示数组的内容

如何使用JavaFXGUI显示数组的内容,java,arrays,javafx,Java,Arrays,Javafx,我有一个数组,在一个文件中包含棋盘游戏的潜在移动。通知玩家游戏当前状态的显示面板位于另一个文件中。我试图在显示面板中将此潜在移动数组显示为菜单(或表格/组合框),但访问数组时遇到问题,因为这两个代码位于不同的文件中。任何关于我如何展示内容的想法都将不胜感激。数组位于my Main.java中,其中包含大量代码,但我将在这里发布显示面板代码。该数组位于一个函数中,该函数不返回任何内容并打印到控制台。我希望我能够清楚地表达我的问题,提前道歉。calculatemoves函数位于Main.java中,

我有一个数组,在一个文件中包含棋盘游戏的潜在移动。通知玩家游戏当前状态的显示面板位于另一个文件中。我试图在显示面板中将此潜在移动数组显示为菜单(或表格/组合框),但访问数组时遇到问题,因为这两个代码位于不同的文件中。任何关于我如何展示内容的想法都将不胜感激。数组位于my Main.java中,其中包含大量代码,但我将在这里发布显示面板代码。该数组位于一个函数中,该函数不返回任何内容并打印到控制台。我希望我能够清楚地表达我的问题,提前道歉。calculatemoves函数位于Main.java中,而displayLabels函数位于Displaypanel.java中

我曾尝试创建一个Main对象,但这是不可能的,因为它扩展了应用程序(使用JavaFX)

public void calculateMoves(int dice1,int dice2){
String[]potentialMoves=新字符串[500];
int k=0;
....
系统输出打印项次(“reach”);
System.out.println(“k:+k”);
对于(k=k-1;k>=0;k--){
System.out.println(potentialMoves[k]);
}
ChoiceBox ChoiceBox=新建ChoiceBox();
choiceBox.getItems().addAll(潜在移动);
}
公共void显示标签(){
如果(网格大小<31){
int numOfLabels=gridSize;
int j=0;
对于(int i=numOfLabels;i>numOfLabels-31;i--){
setConstraints(标签[i-1],0,j);
grid.getChildren().addAll(标签[i-1]);
j++;
如果(i-1==0)中断;
}
}

13-7 8-3 13-7 7-2 24-18 8-3 24-18 13-8 24-18 18-13应该作为菜单打印。这是我目前在控制台上得到的结果。

你可以使用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));
    }
}
类YourController实现可初始化{
@FXML
私有JFXComboBox cccombo;
@凌驾
公共void初始化(URL、ResourceBundle rb){
ArrayList yourArray=新建ArrayList();
//填充你的数组
setItems(FXCollections.observableList(yourArray));
}
}
我认为code()应该比试图描述它更清晰、更简短。
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));
    }
}