Ich versuche, für den Fall, jedesmal, wenn das Bild gedrückt zu leuchten, und wenn es noch einmal gedrückt worden ist möchte ich es auf die ursprüngliche Beleuchtung gehenÄnderung der Imageview Wirkung auf javafx
// Effect To light up the image once it been pressed to green
Lighting lighting = new Lighting();
lighting.setDiffuseConstant(1.0);
lighting.setSpecularConstant(0.0);
lighting.setSpecularExponent(0.0);
lighting.setSurfaceScale(0.0);
lighting.setLight(new Light.Distant(45, 45, Color.GREEN));
// Effect to show the unavailable images which can't be pressed
Lighting lighting_red = new Lighting();
lighting_red.setDiffuseConstant(1.0);
lighting_red.setSpecularConstant(0.0);
lighting_red.setSpecularExponent(0.0);
lighting_red.setSurfaceScale(0.0);
lighting_red.setLight(new Light.Distant(45, 45, Color.RED));
// the original effect and the one to change back the green effect once it being pressed again
Lighting orginalLighting = new Lighting();
orginalLighting.setDiffuseConstant(1.0);
orginalLighting.setSpecularConstant(0.0);
orginalLighting.setSpecularExponent(0.0);
orginalLighting.setSurfaceScale(0.0);
orginalLighting.setLight(new Light.Distant(85, 85, Color.LIGHTGREY));
// To initialize the original imageview and set its original effect
for(int i = 0;i<30;i++){
seats[i] = new ImageView(seats_image);
seats[i].setEffect(orginalLighting);
}
for(int i=0;i<30;i++){
Node seat = seats[i];
seat.setOnMouseClicked(e->{
if(seat.getEffect()!=lighting_red){
seat.setEffect(lighting); }
if(seat.getEffect()==lighting){
seat.setEffect(orginalLighting); }
});
}
ich ändern wollte der Bildeffekt für den Fall, dass nicht rot zu grün ist. Und wenn ich es schon drücke und drücke es nochmal auf den originalen Effekt aber irgendwie drücke ich irgendein Bild nichts an.
Hinweis: Wenn ich das zweite if entferne, ändert sich das Bild zu grün, wenn ich es drücke, solange es nicht rot ist. Aber sobald ich die zweiten hinzugefügt, wenn gar nichts passiert es wie jedes Mal scheint, dass ich sich auf den ursprünglichen ändern drücken, die nichts mehr im Bild ändern
nicht vergleichen Objekte mit '=' und '==' aber stattdessen mit der equals-Methode. Dies könnte helfen. – hotzst
@hotzst habe nicht gearbeitet – MrRizk