2016-06-04 6 views
0

Я пытаюсь получить всплывающее сообщение, когда щелкнут узел торта. Он печатает на консоли, но «JOptionPane.showMessageDialog (null,« Test »); сбой программы, когда я нажимаю на торт (без ошибок). Есть идеи?Нет ошибок, но сбой - JOptionPane - JavaFX

class Cake extends Item { 

double dx=3,dy=1.6; 

Cake(String imageFile, double x, double y) { 
    super(imageFile, x, y); 
} 


@Override 
public void move() { 
    this.setX(this.getX()+dx); 

    if(this.getX()>749 || this.getX()<-20) { 
     dx=-dx; 
    } 

    this.setY(this.getY()+dy); 

    if(this.getY()>530 || this.getY()<0) { 
     dy=-dy; 
    } 


} 


@Override 
public void collision() { 
    //System.out.println("Cake"); 
    JOptionPane.showMessageDialog(null,"Test"); 


} 

} 
+0

Вы уже читали эту статью [] (http://stackoverflow.com/questions/21108927/joptionpane-in-javafx-making-window-not- ответ) –

+2

Заметим, что с тех пор, как это было написано, JavaFX представила класс [Dialog] (http://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Dialog.html). –

+0

Я думаю, что вместо «null» должен быть этап –

ответ

2

Не используйте Swing's JOptionPane в приложении JavaFX. Используйте Dialog, или в данном случае Alert вместо:

@Override 
public void collision() { 
    //System.out.println("Cake"); 

    Alert alert = new Alert(Alert.AlertType.INFORMATION); 
    alert.setHeaderText("Test"); 
    alert.showAndWait(); 
}