Java中随机方法的数字排序

Java中随机方法的数字排序,java,javafx,Java,Javafx,每当我在我的程序中点击这里的刷新,它将生成5个介于1到13之间的随机数,并以卡片的形式显示在屏幕上。我用JavaFx来做这个。我想不出第二件事,那就是当我点击排序按钮时,程序应该获取当前的一组随机数,并从最低到最高显示卡片 public class Cards extends Application { public static void main(String[] args) { Application.launch(args); } public static int myca

每当我在我的程序中点击这里的刷新,它将生成5个介于1到13之间的随机数,并以卡片的形式显示在屏幕上。我用JavaFx来做这个。我想不出第二件事,那就是当我点击排序按钮时,程序应该获取当前的一组随机数,并从最低到最高显示卡片

public class Cards extends Application {
public static void main(String[] args) {
    Application.launch(args);

}

public static int mycard() {
    Random rand = new Random();
    int  n = rand.nextInt(13) + 1;
    return n;
}

public void start(Stage primaryStage) {

    primaryStage.setTitle("Cards Layout");

    GridPane pane = new GridPane();
    pane.setAlignment(Pos.CENTER);
    pane.setHgap(10);
    pane.setVgap(5);


    // creates button
    Button refresh = new Button("Refresh");
    HBox button = new HBox(10);
    button.setAlignment(Pos.BOTTOM_LEFT);
    button.getChildren().add(refresh);
    pane.getChildren().add(refresh);

    //Create sort button
    Button sort = new Button("Sort");
    HBox button1 = new HBox(10);
    button1.setAlignment(Pos.BOTTOM_RIGHT);
    button1.getChildren().add(sort);
    pane.getChildren().add(sort);

    // creates random card images and adds them to pane
    Image img = new Image("image/card/"+mycard()+".png");
    ImageView imgView = new ImageView(img);

    pane.add(imgView, 1, 0);

    Image img2 = new Image("image/card/"+mycard() +".png");
    ImageView imgView2 = new ImageView(img2);
    pane.add(imgView2, 2, 0);

    Image img3 = new Image("image/card/" +mycard()+ ".png");
    ImageView imgView3 = new ImageView(img3);
    pane.add(imgView3, 3, 0);

    Image img4 = new Image("image/card/" +mycard()+".png");
    ImageView imgView4 = new ImageView(img4);
    pane.add(imgView4, 4, 0);

    Image img5 = new Image("image/card/" +mycard()+".png");
    ImageView imgView5 = new ImageView(img5);
    pane.add(imgView5, 5, 0);

    Scene scene = new Scene(pane, 600, 200);
    primaryStage.setScene(scene);
    primaryStage.show();
    refresh.setOnAction(new EventHandler<ActionEvent>() {
        public void handle(ActionEvent e) {
            imgView.setImage(new Image("image/card/" +mycard()+".png"));
            imgView2.setImage(new Image("image/card/" +mycard()+".png"));
            imgView3.setImage(new Image("image/card/" +mycard()+".png"));
            imgView4.setImage(new Image("image/card/" +mycard()+".png"));
            imgView5.setImage(new Image("image/card/" +mycard()+".png"));
        }
    });
    sort.setOnAction(new EventHandler<ActionEvent>() {
        public void handle(ActionEvent e) {
            imgView.setImage(new Image("image/card/" + "1.png"));
            imgView2.setImage(new Image("image/card/" + "2.png"));
            imgView3.setImage(new Image("image/card/" + "3.png"));
            imgView4.setImage(new Image("image/card/" + "4.png"));
            imgView5.setImage(new Image("image/card/" + "5.png"));
//Cannot figure out what to do here ^
        }
    });

}
}
公共类卡扩展应用{
公共静态void main(字符串[]args){
应用程序启动(args);
}
公共静态int-mycard(){
Random rand=新的Random();
int n=兰特nextInt(13)+1;
返回n;
}
公共无效开始(阶段primaryStage){
初级阶段。设置标题(“卡片布局”);
GridPane=新建GridPane();
窗格设置对齐(位置中心);
窗格。setHgap(10);
窗格。设置间隙(5);
//创建按钮
按钮刷新=新按钮(“刷新”);
HBox按钮=新HBox(10);
按钮。设置对齐(位置底部左);
button.getChildren().add(刷新);
pane.getChildren().add(刷新);
//创建排序按钮
按钮排序=新按钮(“排序”);
HBox按钮1=新的HBox(10);
按钮1.设置对齐(右下角位置);
button1.getChildren().add(排序);
pane.getChildren().add(排序);
//创建随机卡片图像并将其添加到窗格中
图像img=新图像(“图像/卡/”+mycard()+“.png”);
ImageView imgView=新的ImageView(img);
添加(imgView,1,0);
图像img2=新图像(“图像/卡/”+mycard()+“.png”);
ImageView imgView2=新的ImageView(img2);
添加(imgView2,2,0);
图像img3=新图像(“图像/卡/”+mycard()+“.png”);
ImageView imgView3=新的ImageView(img3);
添加(imgView3,3,0);
Image img4=新图像(“Image/card/”+mycard()+“.png”);
ImageView imgView4=新的ImageView(img4);
添加(imgView4,4,0);
Image img5=新图像(“Image/card/”+mycard()+“.png”);
ImageView imgView5=新的ImageView(img5);
添加(imgView5,5,0);
场景=新场景(窗格,600200);
初级阶段。场景(场景);
primaryStage.show();
refresh.setOnAction(新的EventHandler(){
公共无效句柄(ActionEvent e){
setImage(新图像(“Image/card/”+mycard()+“.png”);
setImage(新图像(“Image/card/”+mycard()+“.png”);
setImage(新图像(“Image/card/”+mycard()+“.png”);
设置图像(新图像(“Image/card/”+mycard()+“.png”);
setImage(新图像(“Image/card/”+mycard()+“.png”);
}
});
sort.setOnAction(新的EventHandler(){
公共无效句柄(ActionEvent e){
setImage(新图像(“Image/card/”+“1.png”);
imgView2.setImage(新图像(“Image/card/”+“2.png”);
setImage(新图像(“Image/card/”+“3.png”);
imgView4.setImage(新图像(“Image/card/”+“4.png”);
imgView5.setImage(新图像(“Image/card/”+“5.png”);
//我不知道该怎么做^
}
});
}
}
调用
myCard()
时,需要将随机生成的号码添加到
列表中。单击“刷新”时,需要清除该列表(
myList.clear()
)。单击“排序”时,首先需要对该列表进行排序,然后按索引从
0
myList.size()
访问列表中的项目

如果您也将图像添加到
列表中
,则可以使用相同的索引将图像与编号/imageResource匹配


因为您有固定数量的卡,所以您也可以使用一个数组(但是如果您计划使用更多的卡来重用代码,我会使用一个列表)

您能对这个问题更详细一点吗?是在对数字进行排序时,还是在显示时?