Нам удалось получить его, чтобы изображения были правильно настроены из этого списка при нажатии первой кнопки. Тем не менее, теперь мне нужно, чтобы эта информация была отправлена для обработки метода USPKeep, и мне нужно установить идентификатор списка для образа, который был установлен в ImageView, в строку, которая находится перед операциями if в методе handleUSPKeep. Я создал глобальную переменную int с именем i и I, где должен идти идентификатор. Есть ли способ, которым я мог бы установить, что я есть в каждом из семи методов в конце программы?Как проверить, какое изображение в данный момент находится в определенном ImageView, и иметь индивидуальный вывод для каждого возможного изображения?
КОД:
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
}
}
Это именно то, что я искал! – Tresk33
О, я рад, что смог помочь! удачи! –
Кажется, я получаю исключение nullPointerException, когда пытаюсь запустить этот код, я добавил ошибку и весь мой класс, в которой я делаю это, код, который я добавил из вашего предложения, внизу, ошибка возникает в первом случае if , Есть идеи? – Tresk33