Erro ao retornar texto!

1 resposta
Fiji
Boa Noite , Sou novato estou tentando retornar um valor digitado pelo readLine(), so q ele nao está me retornando nada ! Alguem pode me dar um ajudinha.. devo estar fazendo algo de errado !! Thanks :D
import java.io.*;
import javax.swing.JOptionPane;


public class Menu{
	
    public void mostraMenu(String[]Menu) {
		  for (int i = 0; i < Menu.length; i++) {
			System.out.println(Menu[i]);
		}
    }
	  
    
	public static String[]Interface={
		"(1)Op 1",
		"(2)Op 2",
		"(3)Sair"
	};
	
	
	
	public String message(String msg){
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		JOptionPane.showInputDialog(msg);
		
	        try{
			return br.readLine();
		}
		catch(IOException e){
		    JOptionPane.showMessageDialog(null,e.getMessage());  
		}
		    return null;
	}	
	
}
public class MenuTeste {

	  public static void main(String[]args){
		  Menu menu= new Menu();
		  boolean runMenuPrincipal = true;
		  
		  while(runMenuPrincipal)
			{  
		     menu.mostraMenu(menu.Interface);
		     String str = menu.message("Escolha uma :") ;

			    if (str.equals("1"))
			    {
			    	JOptionPane.showMessageDialog(null, "Opcao 1 selecionada");
			    	
	            } 
			    else if (str.equals("2"))
	            {
			    	JOptionPane.showMessageDialog(null, "Opcao 2 selecionada");
			    	
				}
			    else if(str.equals("3"))
			    {
				    runMenuPrincipal = false;
				}
			    else 
				{
			    	JOptionPane.showMessageDialog(null, "Entrada Invalida");
			    	
				}

			}
		   
	  }
}

1 Resposta

ViniGodoy

O readline é para leitura em console. O JOptionPane.showInputDialog retorna o que foi lido. Seu código, então, provavelmente é:

public String message(String msg){ return JOptionPane.showInputDialog(msg); }

Ou seja, se for para ter um método assim, talvez seja melhor nem ter, e usar o JOptionPane direto.

Criado 15 de fevereiro de 2010
Ultima resposta 15 de fev. de 2010
Respostas 1
Participantes 2