2016-05-08 10 views
0

問題を解決しようとしています。ユーザーが1つのカードをクリニックすると、画像が表示されます。これは、クリックアクションに関与しているゲームの一部です:Javaで接続ゲーム選択カード

ArrayList<CardFace> aFaces = mod.getCards(); 
    for (int i = 0; i < ConcentrationModel.BOARD_SIZE ; i++) { 
     for (int j = 0; j < ConcentrationModel.BOARD_SIZE ; j++) { 

      int index = (i * ConcentrationModel.BOARD_SIZE) + j; 
      Card fc = (Card)aFaces.get(index); 
      Button pic = new Button("",new ImageView(fc.getImage())); 
      grid.add(pic, i, j); 
      pic.setScaleX(1); 
      pic.setScaleY(1); 

      pic.setOnAction(event -> System.out.println("Image clicked!!!")); 
     } 
    } 

pic.setOnAction(イベント - >が...)メソッドの動作が行われるべき場所です。どのようなアプローチが必要ですか?

答えて

0

あなたはあなたの写真を表示するImageViewを含む新しいStageを作成することができます。

public class App extends Application { 

    private Stage  imageStage; 

    private ImageView imageView; 

    @Override 
    public void start(Stage primaryStage) throws IOException { 

     imageView = new ImageView(); 
     imageStage = new Stage(); 
     imageStage.setScene(new Scene(new StackPane(imageView))); 

     Button btn = createButton(yourImage); 

     VBox root = new VBox(btn); 

     Scene scene = new Scene(root, 800, 800); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 
    } 

    private Button createButton(Image image) { 
     Button button = new Button("", new ImageView(image)); 
     button.setOnAction(e -> { 
      imageView.setImage(image); 
      imageStage.show(); 
     }); 

     return button; 
    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 
関連する問題