Menu

[Solved]Invoke Forward Backward Method Currentnumber Isnt Changed Sure Something Switch Case Metho Q37191351

When I invoke the forward or backward method the current_numberisnt being changed. Not sure if its something in my switch case ormy methods..

package project4;

import java.awt.image.BufferedImage;
import java.net.URL;
import java.util.Scanner;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class PictureViewer {

final static int MIN_NUMBER = 0;
final static int MAX_NUMBER = 8;
static int image_number = 1;
  

public static int forward(int current_number) {
if (current_number < MAX_NUMBER) {
return current_number ++;
} else if (current_number > MAX_NUMBER) {
return MIN_NUMBER;
}
return current_number;
}

public static int backward(int current_number) {
if (current_number > MIN_NUMBER) {
return current_number–;
} else if (current_number <= MIN_NUMBER) {
return MIN_NUMBER;
}
return current_number;
}

public static String createFileName(int current_number) {
String imageString = “picture” + current_number + “.jpg”;
return imageString;
}

public static String createRandomName() {
int random_number = 1 + (int) (Math.random() * (MAX_NUMBER -MIN_NUMBER) + 1);
String imageString = “picture” + random_number + “.jpg”;
return imageString;
}

public static void showMenu() {
Scanner input = new Scanner(System.in);
while (true) {
System.out.println(“Select One of the Options”);
System.out.println(“Option 1: Forward”);
System.out.println(“Option 2: Backward”);
System.out.println(“Option 3: Create File Name”);
System.out.println(“Option 4: Create Random Name”);

int current_number = 0;
int user = input.nextInt();

switch (user) {
case 1:
System.out.println(“static forward”);
forward(current_number);   
  
break;
case 2:
System.out.println(“static backward”);
backward(current_number);

break;
case 3:
System.out.println(“createFileName”);
showWindow(createFileName(current_number));
break;
case 4:
System.out.println(“createRandomName”);
showWindow(createRandomName());
break;

}
}
}
public void forward() {

if (image_number < MAX_NUMBER) {
image_number++;
} else {
image_number = MAX_NUMBER;
}
}

public void backward() {

if (image_number > MIN_NUMBER) {
image_number–;
}
}

public static void main(String[] args) {

showMenu();
}

public static void showWindow(String filename) {
JPanel myPanel = new JPanel();
JFrame pictureFrame = new JFrame();
pictureFrame.setTitle(filename);
pictureFrame.setSize(800, 600);
pictureFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myPanel.add(load_picture(filename));
pictureFrame.add(myPanel);
pictureFrame.setVisible(true);
}

public static JLabel load_picture(String imagefile) {
JLabel templabel = null;
String startURL = “”;
if (!imagefile.startsWith(“http”)) {
startURL = “http://riveira.x10host.com/CMPSCI111L/images/”;
}
URL myURL = null;
try {
myURL = new URL(startURL + imagefile);
BufferedImage myPicture = ImageIO.read(myURL);
templabel = new JLabel(new ImageIcon(myPicture));
} catch (Exception e) {
System.out.println(“Error caught ” + e.toString());
}
return templabel;
}
}

Expert Answer


Answer to When I invoke the forward or backward method the current_number isnt being changed. Not sure if its something in my swit… . . .

OR


Leave a Reply

Your email address will not be published. Required fields are marked *