Nous avons réussi à l'obtenir afin que les images soient correctement définies à partir de cette liste lorsque le premier bouton est cliqué. Cependant, maintenant j'ai besoin d'avoir cette information envoyée à la méthode handleUSPKeep et j'ai besoin de définir l'ID de liste pour l'image qui a été définie dans le ImageView dans la ligne qui est avant les instructions if dans la méthode handleUSPKeep. J'ai créé une variable int globale nommée i et j'ai mis où l'ID est supposé aller. Existe-t-il un moyen de définir ce que je suis dans chacune des sept méthodes à la fin du programme?Comment puis-je tester quelle image est actuellement dans un ImageView spécifique et avoir une sortie personnalisée pour chaque image possible?
CODE:
public class USPSCaseSpinController implements Initializable {
private static List<Image> gunImages = new ArrayList<>();
public static int i;
@FXML
private static Label USPName;
@FXML
private static Label USPWearName;
@FXML
private Button SpinUSPS;
@FXML
public static ImageView setUSPImage;
@FXML
private Button USPKeep;
@FXML
private Button USPDiscard;
@FXML
private void handleSpinMechBack(MouseEvent event) throws IOException{
Parent handleInventoryBackParent = FXMLLoader.load(getClass().getResource("/csgocaseopener/OpenCase.fxml"));
Scene OPBackScene = new Scene(handleInventoryBackParent);
Stage handleInventoryBackStage = (Stage) ((Node) event.getSource()).getScene().getWindow();
handleInventoryBackStage.setScene(OPBackScene);
handleInventoryBackStage.show();
}
@FXML
private void SpinUSPSCase(ActionEvent event) throws IOException{
gunImages.add(new Image("GunImages/USPLead Conduit.png"));
gunImages.add(new Image("GunImages/USPNight Ops.png"));
gunImages.add(new Image("GunImages/USPTorque.png"));
gunImages.add(new Image("GunImages/USPGaurdian.png"));
gunImages.add(new Image("GunImages/USPCyrex.png"));
gunImages.add(new Image("GunImages/USPCaiman.png"));
gunImages.add(new Image("GunImages/USPKill Confirmed.png"));
Random rand = new Random();
int gunSelect = rand.nextInt(99)+1;
if(gunSelect<=30){
LeadConduitUSPS();
USPName.setText("Lead Conduit");
}
else if(gunSelect>=31 && gunSelect<=60){
NightOpsUSPS();
USPName.setText("Night Ops");
}
else if(gunSelect>=61 && gunSelect<=90){
TorqueUSPS();
USPName.setText("Torque");
}
else if(gunSelect>=91 && gunSelect<=93.5){
GuardianUSPS();
USPName.setText("Guardian");
}
else if(gunSelect>=94.5 && gunSelect<=97){
CyrexUSPS();
USPName.setText("Cyrex");
}
else if(gunSelect>=98 && gunSelect<=99){
CaimanUSPS();
USPName.setText("Caiman");
}
else if(gunSelect==100){
KillConfirmedUSPS();
USPName.setText("Kill Confirmed");
}
SpinUSPS.setDisable(true);
USPKeep.setVisible(true);
USPDiscard.setVisible(true);
}
@FXML
private void handleUSPDiscard(ActionEvent event) throws IOException{
SpinUSPS.setDisable(false);
USPKeep.setVisible(false);
USPDiscard.setVisible(false);
USPName.setText("");
USPWearName.setText("");
setUSPImage.setImage(null);
}
@FXML
public void handleUSPKeep(ActionEvent event) throws IOException{
SpinUSPS.setDisable(false);
USPKeep.setVisible(false);
USPDiscard.setVisible(false);
USPName.setText("");
USPWearName.setText("");
setUSPImage.setImage(null);
ImageView setUSPImage = new ImageView(gunImages.get(i));
if(setUSPImage.getImage().equals(gunImages.get(0))){
System.out.println("Lead Conduit");
}
else if(setUSPImage.getImage().equals(gunImages.get(1))){
System.out.println("Night Ops");
}
else if(setUSPImage.getImage().equals(gunImages.get(2))){
System.out.println("Torque");
}
else if(setUSPImage.getImage().equals(gunImages.get(3))){
System.out.println("Guardian");
}
else if(setUSPImage.getImage().equals(gunImages.get(4))){
System.out.println("Cyrex");
}
else if(setUSPImage.getImage().equals(gunImages.get(5))){
System.out.println("Caiman");
}
else if(setUSPImage.getImage().equals(gunImages.get(6))){
System.out.println("Kill Confirmed");
}
}
public static void LeadConduitUSPS(){
setUSPImage.setImage(gunImages.get(0));
i =0;
Random rand = new Random();
int wareSelect = rand.nextInt(99)+1;
if(wareSelect<=10){ //Calculates the ware the gun has
USPWearName.setText("Factory New");
}
else if(wareSelect>=11 && wareSelect<=25){
USPWearName.setText("Minimal Wear");
}
else if(wareSelect>=26 && wareSelect<=60){
USPWearName.setText("Field Tested");
}
else if(wareSelect>=61 && wareSelect<=80){
USPWearName.setText("Well Worn");
}
else if(wareSelect>=81){
USPWearName.setText("Battle Scarred");
}
}
public static void NightOpsUSPS(){
setUSPImage.setImage(gunImages.get(1));
i=1;
Random rand = new Random();
double wareSelect = rand.nextInt(99)+1;
if(wareSelect<=10){ //Calculates the ware the gun has
USPWearName.setText("Factory New");
}
else if(wareSelect>=11 && wareSelect<=25){
USPWearName.setText("Minimal Wear");
}
else if(wareSelect>=26 && wareSelect<=60){
USPWearName.setText("Field Tested");
}
else if(wareSelect>=61 && wareSelect<=80){
USPWearName.setText("Well Worn");
}
else if(wareSelect>=81){
USPWearName.setText("Battle Scarred");
}
}
public static void TorqueUSPS(){
setUSPImage.setImage(gunImages.get(2));
i=2;
Random rand = new Random();
double wareSelect = rand.nextInt(99)+1;
if(wareSelect<=10){ //Calculates the ware the gun has
USPWearName.setText("Factory New");
}
else if(wareSelect>=11 && wareSelect<=25){
USPWearName.setText("Minimal Wear");
}
else if(wareSelect>=26 && wareSelect<=60){
USPWearName.setText("Field Tested");
}
else if(wareSelect>=61 && wareSelect<=80){
USPWearName.setText("Well Worn");
}
else if(wareSelect>=81){
USPWearName.setText("Battle Scarred");
}
}
public static void GuardianUSPS(){
setUSPImage.setImage(gunImages.get(3));
i=3;
Random rand = new Random();
double wareSelect = rand.nextInt(99)+1;
if(wareSelect<=10){ //Calculates the ware the gun has
USPWearName.setText("Factory New");
}
else if(wareSelect>=11 && wareSelect<=50){
USPWearName.setText("Minimal Wear");
}
else if(wareSelect>=51){
USPWearName.setText("Field Tested");
}
}
public static void CyrexUSPS(){
setUSPImage.setImage(gunImages.get(4));
i=4;
Random rand = new Random();
double wareSelect = rand.nextInt(99)+1;
if(wareSelect<=10){ //Calculates the ware the gun has
USPWearName.setText("Factory New");
}
else if(wareSelect>=11 && wareSelect<=25){
USPWearName.setText("Minimal Wear");
}
else if(wareSelect>=26 && wareSelect<=60){
USPWearName.setText("Field Tested");
}
else if(wareSelect>=61 && wareSelect<=80){
USPWearName.setText("Well Worn");
}
else if(wareSelect>=81){
USPWearName.setText("Battle Scarred");
}
}
public static void CaimanUSPS(){
setUSPImage.setImage(gunImages.get(5));
i=5;
Random rand = new Random();
double wareSelect = rand.nextInt(99)+1;
if(wareSelect<=10){ //Calculates the ware the gun has
USPWearName.setText("Factory New");
}
else if(wareSelect>=11 && wareSelect<=35){
USPWearName.setText("Minimal Wear");
}
else if(wareSelect>=36 && wareSelect<=75){
USPWearName.setText("Field Tested");
}
else if(wareSelect>=76){
USPWearName.setText("Well Worn");
}
}
public static void KillConfirmedUSPS(){
setUSPImage.setImage(gunImages.get(6));
i=6;
Random rand = new Random();
double wareSelect = rand.nextInt(99)+1;
if(wareSelect<=10){ //Calculates the ware the gun has
USPWearName.setText("Factory New");
}
else if(wareSelect>=11 && wareSelect<=24){
USPWearName.setText("Minimal Wear");
}
else if(wareSelect>=36 && wareSelect<=60){
USPWearName.setText("Field Tested");
}
else if(wareSelect>=61 && wareSelect<=85){
USPWearName.setText("Well Worn");
}
else if(wareSelect>=86){
USPWearName.setText("Battle Scarred");
}
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}
C'était exactement ce que je cherchais! – Tresk33
Oh je suis content d'avoir pu aider! bonne chance! –
Je semble obtenir une exception nullPointerException quand j'essaye d'exécuter ce code, j'ai ajouté l'erreur et ma classe entière dans laquelle je fais cela, le code que j'ai ajouté de votre suggestion est en bas, l'erreur se produit à la première instruction if . Des idées? – Tresk33