2016-05-08 6 views
0

Ich habe Probleme zu versuchen, damit es funktioniert. Wenn ein Benutzer eine Karte klickt, sollte ein Bild angezeigt werden. Dies ist der Teil des Spiels, das mit der Klick Aktion beteiligt ist:Connection Spiel Auswahlkarte in 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!!!")); 
     } 
    } 

Verfahren pic.setOnAction (event -> ...) ist, wo die Operation durchgeführt werden soll. Welchen Ansatz sollte ich machen?

Antwort

0

Sie könnten eine neue Stage schaffen eine ImageView mit Ihrem Bild zeigen:

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); 
    } 
}