GARANTIR DESCONTO

Fórum Calculadora usando JOptionPane - Ajuda #567112

09/04/2009

0

Olá, eu sou bem iniciante em java, mais estava brincando de fazer uma calculadora, mais não consigo imprimir o resultado na tela do JOptionPane, apenas pedir os numeros e tal, outra coisa : JOptionPane.showMessageDialog não reconhece a biblioteca e não compila. se não for pedir muito alguem me ajuda falando o que falto no código? já fiz de tudo, mais soh consigo imprimir resultado usando System.println, mais queria imprimir na tela do JOptionPane Muito Obrigado
import javax.swing.JOptionPane;

/* Programa: Calculadora feita em Java
 *Autor: Mellkior
 *Data: 30-05-2006 
 */
public class Calculadora {
    public static void main(String[] args) {

        double a;
        double b;
        String operacao;
        double resultado;
        double i=0;
   
        a = Double.parseDouble(JOptionPane.showInputDialog("Entre com 1 Numero: "));
		
        while (i==0){
        operacao = JOptionPane.showInputDialog("Entre com a Operação: " );
       	b = Double.parseDouble(JOptionPane.showInputDialog("Entre com 1 Numero: "));

            if (operacao.equals("+")) {
                resultado = a + b;
                JOptionPane.showMessageDialog("O resultado e :" +resultado);
		a = resultado;
		}
    
            if (operacao.equals("-")) {
                resultado = a - b;
 		JOptionPane.showMessageDialog("O resultado e :" +resultado);
                a = resultado;
               }
        
            if (operacao.equals("*")) {
                resultado = a * b;
 		JOptionPane.showMessageDialog("O resultado e :" +resultado);
                a = resultado;
		}
        
            if (operacao.equals("/")) {
                resultado = a / b;
 		JOptionPane.showMessageDialog("O resultado e :" +resultado);
                a = resultado;
		}
           
        }
    }
}
Ronie Neubauer

Ronie Neubauer

Responder

Posts

09/04/2009

Bernardo Rezende

JOptionPane.showMessageDialog(null,"O resultado e :" +resultado,"Resultado", JOptionPane.INFORMATION_MESSAGE);
Responder

Gostei + 0

09/04/2009

Ronie Neubauer

MUITO OBRIGADO. Vlws mesmo kara.
Responder

Gostei + 0

09/04/2009

Domingos Santos

Tenho um programa de exemplo, retirado do livro CoreJava 7 ediçao, que esclarece bastante as possibilidades de utilização do JOptionPane.
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;
import javax.swing.border.*;

public class OptionDialogTeste {

	public static void main(String[] args) {

		OptionDialogFrame frame = new OptionDialogFrame();
		frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		frame.setVisible( true );
		
	}

}

/**
 * Um painel com botões de seleção dentro de uma borda com título;
 */

class ButtonPanel extends JPanel{
	
	public ButtonPanel( String titulo, String[] opcoes ){
		
		setBorder( BorderFactory.createTitledBorder( BorderFactory.createEtchedBorder(), titulo ) );
		setLayout( new BoxLayout( this, BoxLayout.Y_AXIS ) );
		group = new ButtonGroup();
		
		for( int i = 0; i < opcoes.length; i++ ){
			JRadioButton b = new JRadioButton( opcoes[i] );
			b.setActionCommand( opcoes[i] );
			add( b );
			group.add( b );
			b.setSelected( i == 0 );
			
		}
		
	}
	
	/**
	 * Obtem a opção selecionada no momento;
	 * @return retorna o rótulo do botão de seleção marcado no momento
	 */
	
	public String getSelection(){
		return group.getSelection().getActionCommand();
	}
	
	private ButtonGroup group;
	
}

/**
 * Um Frame que contém configurações para selecionar várias caixas de diálogo de opção;
*/

class OptionDialogFrame extends JFrame{
	
	public OptionDialogFrame(){
		
		setTitle("OptionDialogTeste");
		setSize( DEFAULT_WIDTH, DEFAULT_HEIGHT );
		
		JPanel gridPanel = new JPanel();
		gridPanel.setLayout( new GridLayout( 2, 3 ) );
		
		typePanel = new ButtonPanel("Type", new String[] { "Message", "Confirm", "Option", "Input"} );
		messageTypePanel = new ButtonPanel("Message Type", new String[] { "ERROR_MESSAGE", "INFORMATION_MESSAGE", "WARNING_MESSAGE", "QUESTION_MESSAGE", "PLAIN_MESSAGE" } );
		messagePanel = new ButtonPanel("Message", new String[] { "String","Icon","Component","Other","Object[]" } );
		optionTypePanel = new ButtonPanel("Confirm", new String[] { "DEFAULT_OPTION", "YES_NO_OPTION", "YES_NO_CANCEL_OPTION", "OK_CANCEL_OPTION" } );
		optionsPanel = new ButtonPanel("Option", new String[]{ "String[]", "Icon[]", "Object[]" } );
		inputPanel = new ButtonPanel("Input", new String[] { "Text field", "Combo box" } );
		
		gridPanel.add( typePanel );
		gridPanel.add( messageTypePanel );
		gridPanel.add( messagePanel );
		gridPanel.add( optionTypePanel );
		gridPanel.add( optionsPanel );
		gridPanel.add( inputPanel );
		
		JPanel showPanel = new JPanel();
		JButton showButton = new JButton("Show");
		
		showButton.addActionListener( new ShowAction() );
			
		showPanel.add( showButton );
		
		add( gridPanel, BorderLayout.CENTER );
		add( showPanel, BorderLayout.SOUTH );
		
	}
	
	public Object getMessage(){
		
		String s = messagePanel.getSelection();
		
		if( s.equals("String"))
			return messageString;
		else if( s.equals("Icon"))
			return messageIcon;
		else if( s.equals("Component"))
			return messageComponent;
		else if( s.equals("Object[]"))
			return new Object[]{ messageString, messageIcon, messageComponent, messageObject };
		else if( s.equals("Other"))
			return messageObject;
		else return null;		
		
	}
	
	public Object[] getOptions(){
		
		String s = optionsPanel.getSelection();
		if( s.equals("String[]"))
			return new String[] { "Yellow","Blue","Red" };
		else if( s.equals("Icon[]"))
			return new Icon[] {
				new ImageIcon("yellow-ball.gif"),
				new ImageIcon("blue-ball.gif"),
				new ImageIcon("red-ball.gif")
		};
		else if ( s.equals( "Object[]" ) )
			return new Object[]{
				messageString, messageIcon, messageComponent, messageObject
		};
		else
			return null;
		
	}
	
	public int getType( ButtonPanel panel ){
		
		String s = panel.getSelection();
		
		try{
			return JOptionPane.class.getField(s).getInt(null);
		}
		catch( Exception e )
		{
			return -1;
		}
		
	}
	
	private class ShowAction implements ActionListener{
		
		public void actionPerformed( ActionEvent event){
			
			if( typePanel.getSelection().equals("Confirm") )
				JOptionPane.showConfirmDialog( OptionDialogFrame.this, getMessage(), "Titulo", getType( optionTypePanel), getType( messageTypePanel ) );
			else if( typePanel.getSelection().equals("Input") )
			{
				if( inputPanel.getSelection().equals("Text field") )
					JOptionPane.showInputDialog( OptionDialogFrame.this, getMessage(), "Titulo", getType( messageTypePanel ) );
				else
					JOptionPane.showInputDialog( OptionDialogFrame.this, getMessage(), "Titulo", getType( messageTypePanel), null, new String[] { "Yelloy", "Blue", "Red" }, "Blue" );
			}
			else if( typePanel.getSelection().equals("Message") )
				JOptionPane.showMessageDialog( OptionDialogFrame.this, getMessage(), "Titulo", getType( messageTypePanel ) );
			else if( typePanel.getSelection().equals("Option") )
				JOptionPane.showOptionDialog( OptionDialogFrame.this, getMessage(), "Titulo", getType( optionTypePanel), getType( messageTypePanel), null, getOptions(), getOptions()[0] );
			
		}
	}
	
	private ButtonPanel typePanel;
	private ButtonPanel messageTypePanel;
	private ButtonPanel messagePanel;
	private ButtonPanel optionTypePanel;
	private ButtonPanel optionsPanel;
	private ButtonPanel inputPanel;
	
	private String messageString = "Message";
	private Icon messageIcon = new ImageIcon("blue-ball.gif");
	private Object messageObject = new Date();
	private Component messageComponent = new SamplePanel();
		
	public final static int DEFAULT_WIDTH = 600;
	public final static int DEFAULT_HEIGHT = 400;
	
}

class SamplePanel extends JPanel{
	
	public  void paintComponent( Graphics g ){
		
		super.paintComponent(g);
		Graphics2D g2 = ( Graphics2D ) g;
		
		Rectangle2D rect = new Rectangle2D.Double( 0, 0, getWidth() - 1, getHeight() - 1 );
		g2.setPaint( Color.YELLOW );
		g2.fill( rect );
		g2.setPaint( Color.BLUE );
		g2.draw( rect );
		
	}
	
	public Dimension getMininumSize(){
		return new Dimension( 10, 10 );
	}
	
}
rode esse programa, vai gostar. espero ter ajudado
Responder

Gostei + 0

09/04/2009

Ronie Neubauer

Kara vlws aprendi um monte tendo todos os camandos do JOptionPane, a outra dúvida que eu tenho é conseguir aparecer tudo na mesma janela, pois quando muda de janela, depende o pc da pessoa trava, aki rodo bem, mais na casa do meu amigo fico travado cada vez q mudava a janela, tem alguma comando que rode tudo na mesma janela?
Responder

Gostei + 0

14/11/2011

Domingos Santos

Para você ter a biblioteca e poder compilá-la, você deve antes de iniciar a classe declarar: "import javax.swing.JOptionPane;" ( sem aspas.) Espero ter ajudado.
Responder

Gostei + 0

16/11/2011

João Marcos

[quote="Mellkior"]Kara vlws aprendi um monte tendo todos os camandos do JOptionPane, a outra dúvida que eu tenho é conseguir aparecer tudo na mesma janela, pois quando muda de janela, depende o pc da pessoa trava, aki rodo bem, mais na casa do meu amigo fico travado cada vez q mudava a janela, tem alguma comando que rode tudo na mesma janela?
Como assim aparecer tudo na mesma tela?
Responder

Gostei + 0

16/11/2011

Douglas Eric

alguém viu a data?
Responder

Gostei + 0

16/11/2011

Mathews Motta

[quote="sekkuar"]alguém viu a data?
Veja pelo lado bom... Demorou 2 anos e meio, mas ele teve a dúvida respondida! Tá vendo? Java free sempre responderá suas dúvidas, seja mais cedo, ou mais tarde. Bem tarde.
Responder

Gostei + 0

16/11/2011

Douglas Eric

[quote="MathewsMotta"][quote="sekkuar"]alguém viu a data?
Veja pelo lado bom... Demorou 2 anos e meio, mas ele teve a dúvida respondida! Tá vendo? Java free sempre responderá suas dúvidas, seja mais cedo, ou mais tarde. Bem tarde.
na verdade, não responderam porra nenhuma XD até porque, se ele já tem
import javax.swing.*;
não precisa colocar o
import javax.swing.JOptionPane;
já que o "*" incluí ele
Responder

Gostei + 0

16/11/2011

João Marcos

Tópico vencido ¬¬ Mas o erro inicial era só falta de um parametro
JOptionPane.showMessageDialog("O resultado e :" +resultado);
O showMessageDialog() recebe um Component como primeiro parametro e depois o Object com a mensagem
public static void showMessageDialog(Component parentComponent, Object message);
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar