Converter String para Interiro

8 respostas
zzzhhh

olá amigos,
estou precisando de uma ajuda para converter uma string para inteiro q é o campoEscolha para jogar dentro do switch tentei algumas coisas mas nao derao certo ai estou postanto o codigo…
tbm gostaria centralizar os campos dentro do JFrame um botao ficou fora do lugar…

import java.awt.Container; 
import java.awt.GridLayout; 
import java.awt.event.*;

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPasswordField; 
import javax.swing.JTextField;
import javax.swing.JOptionPane; 

public class trab extends JFrame
 { 
   private Container container; 
   private JButton botaoEntrar = new JButton("Entrar"); 
   private JButton botaoSair = new JButton("Sair"); 
   
   private JLabel labelex1 = new JLabel("( 1 ) Exemplo 1");
   private JLabel labelex2 = new JLabel("( 2 ) Exemplo 2"); 
   private JLabel labelHelp = new JLabel("( 3 ) Funcionamento");
   private JLabel labelSobre = new JLabel("( 4 ) Sobre"); 
   private static JTextField campoEscolha = new JTextField();

   public trab()
   { 
      setTitle("Escolha"); 

       setResizable(false); 

      setDefaultCloseOperation(EXIT_ON_CLOSE); 
      setSize(250, 130); 
      setLocationRelativeTo(null); 

      container = getContentPane(); 
      container.setLayout(new GridLayout(4, 4)); 

      container.add(labelex1);
      container.add(labelex2); 
      container.add(labelHelp); 
      container.add(labelSobre);
      container.add(campoEscolha);

      container.add(botaoEntrar); 
      container.add(botaoSair); 
      

      
       botaoSair.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
           System.exit(0);
        }
     });
     //Evento para entrar no programa
     botaoEntrar.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
           escolha();
        }
     });	
  
   }//Fim public trab
   
   private static void escolha()
   {
   		//int campoEscolha = Integer.parseInt(campoEscolha.getText());
   		String x = campoEscolha.getText();
   		x = Integer.parseInt(campoEscolha);

   		
   		switch(campoEscolha)
   		{
   			case 1:
   				JOptionPane.showMessageDialog(null,"Escolha numero 1 ");
   			break;
   			case 2:
   				JOptionPane.showMessageDialog(null,"Escolha numero 2 ");
   			break;
   			case 3:
   				JOptionPane.showMessageDialog(null,"Escolha numero 3 ");
   			break;
   			case 4:
   				JOptionPane.showMessageDialog(null,"Escolha numero 4 ");
   			break;
   			default:
   				JOptionPane.showMessageDialog(null,"Opção Invalida");
   		}
   	
   }
  
   
  

   public static void main(String[] aaa )
   { 
      trab exe = new trab(); 
      exe.setVisible(true);      
   } 
}

Obrigado a todos

8 Respostas

m4des

Voce estava tentando alocar um inteiro em uma string por isso tava dando erro, ai o codigo certo:

import java.awt.Container; 
import java.awt.GridLayout; 
import java.awt.event.*;

import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPasswordField; 
import javax.swing.JTextField;
import javax.swing.JOptionPane; 

public class trab extends JFrame
 { 
   private Container container; 
   private JButton botaoEntrar = new JButton("Entrar"); 
   private JButton botaoSair = new JButton("Sair"); 
   
   private JLabel labelex1 = new JLabel("( 1 ) Exemplo 1");
   private JLabel labelex2 = new JLabel("( 2 ) Exemplo 2"); 
   private JLabel labelHelp = new JLabel("( 3 ) Funcionamento");
   private JLabel labelSobre = new JLabel("( 4 ) Sobre"); 
   private static JTextField campoEscolha = new JTextField();

   public trab()
   { 
      setTitle("Escolha"); 

       setResizable(false); 

      setDefaultCloseOperation(EXIT_ON_CLOSE); 
      setSize(250, 130); 
      setLocationRelativeTo(null); 

      container = getContentPane(); 
      container.setLayout(new GridLayout(4, 4)); 

      container.add(labelex1);
      container.add(labelex2); 
      container.add(labelHelp); 
      container.add(labelSobre);
      container.add(campoEscolha);

      container.add(botaoEntrar); 
      container.add(botaoSair); 
      

      
       botaoSair.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
           System.exit(0);
        }
     });
     //Evento para entrar no programa
     botaoEntrar.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
           escolha();
        }
     });	
  
   }//Fim public trab
   
   private static void escolha()
   {
   		//int campoEscolha = Integer.parseInt(campoEscolha.getText());
   		String x = campoEscolha.getText();
   		int inteiro = Integer.parseInt(x);

   		
   		switch(inteiro)
   		{
   			case 1:
   				JOptionPane.showMessageDialog(null,"Escolha numero 1 ");
   			break;
   			case 2:
   				JOptionPane.showMessageDialog(null,"Escolha numero 2 ");
   			break;
   			case 3:
   				JOptionPane.showMessageDialog(null,"Escolha numero 3 ");
   			break;
   			case 4:
   				JOptionPane.showMessageDialog(null,"Escolha numero 4 ");
   			break;
   			default:
   				JOptionPane.showMessageDialog(null,"Opção Invalida");
   		}
   	
   }
  
   
  

   public static void main(String[] aaa )
   { 
      trab exe = new trab(); 
      exe.setVisible(true);      
   }
 }

vlw

m4des

para alinhar os components tente usar o Container.CENTER_ALIGNMENT

zzzhhh

amigao,
obrigado pela ajuda agora ta rodando perfeito…

a onde q eu coloco o Container.CENTER_ALIGNMENT para alinhar?

valeu…

m4des

não sei se realmente isso vai ajudar porque voce esta gerenciando com um GridLayout mas é assim:

container.add(botaosair,Container.CENTER_ALIGNMENT);

porque voce não tenta em vez de usar o GridLayout usar o GridBagLayout ou ate mesmo o FlowLayout acho qie ficaria mais facil

zzzhhh

pois é…
eu coloquei ele nao funcionou…o botao ficou torto…
ai para trocar o Layout eu nao saberia faz pouco tempo que estou mexendo com jFrame ainda estou bem perdido…

Guerr

Meus problemas de layout se resolveram quando eu aprendi a usar o FormLayout do JGoodies… Vale a pena dar uma olhada!!!

m4des

para trocar o gerenciador é so usar setLayout(), por exemplo:

setLayout(new seu_gerenciador);

como voce ta herdando a classe JFrame basta apenas jogar o comando acima.

Boa Sorte.

zzzhhh

amigao,
obrigado pela ajuda…agora deu certo…
valeu
abraço

Criado 3 de dezembro de 2006
Ultima resposta 4 de dez. de 2006
Respostas 8
Participantes 3