Java黑皮书15.1(选取4张卡牌)
package sample;
import javafx.application.Application;
import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.scene.layout.*;
import javafx.scene.image.*;
import java.util.*;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
Integer[] temp = new Integer[52];
private ImageView[] p = new ImageView[4];
@Override
public void start(Stage primaryStage) {
for (int i = 0; i < 52; ++i) temp[i] = i + 1;
VBox pane = new VBox(5);
Cpane cards = new Cpane();
pane.getChildren().add(cards);
Button btRefresh = new Button("刷新");
pane.getChildren().add(btRefresh);
btRefresh.setOnAction(e -> {
cards.re();
});
Scene scene = new Scene(pane, 600, 600);
primaryStage.setTitle("随机四张卡牌");
primaryStage.setScene(scene);
primaryStage.show();
}
public class Cpane extends HBox {
private ArrayList<Integer> list = new ArrayList<>(Arrays.asList(temp));
public void Cp() {
setSpacing(5);
Collections.shuffle(list);
for (int i = 0; i < 4; i++) p[i] = new ImageView("image/card/" + Integer.valueOf(list.get(i)) + ".png");
super.getChildren().addAll(p[0], p[1], p[2], p[3]);
}
public void re() {
Collections.shuffle(list);
super.getChildren().removeAll(p[0], p[1], p[2], p[3]);
for (int i = 0; i < 4; i++) p[i] = new ImageView("image/card/" + Integer.valueOf(list.get(i)) + ".png");
super.getChildren().addAll(p[0], p[1], p[2], p[3]);
}
}
}
运行结果
![在这里插入图片描述](https://img-blog.csdnimg.cn/1c14946ef61d4573b045898ee3b25075.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Lq65b2iVExF6Ieq5Yqo5py6,size_16,color_FFFFFF,t_70,g_se,x_16)