Ajuda básica

1 resposta
G
Como faço um aplicativo com uma lista de5 produtos que oa ser selecionado ele apresente o preço de venda do produto e de acordo com a forma de pagamento apresente o preço final(a vista 10% de desconto, cartão preço normal e cheque 5% de desconto). Para mostrar o preço com e sem desconto. olhe o que eu ja tenho
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class sanduba extends JFrame implements ActionListener, ItemListener
{
 JLabel L1,L2,L3;
 JTextField T1,T2;
 JCheckBox C1,C2,C3;
 JComboBox combo;
 JButton B1;
 Float S,P;
 public static void main(String args[])
	{
		JFrame Janela = new sanduba();
		Janela.show();
		WindowListener x = new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		};
		Janela.addWindowListener(x);
	}

	sanduba()
	 {
		getContentPane().setBackground(new Color(180,180,180));
		setTitle("Sanduiche");
		setSize(300,200);
			T1 = new JTextField();
			T2 = new JTextField();
			L1 = new JLabel("Produto");
			L1.setFont(new Font("Arial",Font.PLAIN,20));
			L1.setForeground(Color.black);
		C1 = new JCheckBox("A vista 10%");
		C1.setBackground(new Color(180,180,180));
		C1.addItemListener(this);
			C2 = new JCheckBox("Cartão");
			C2.setBackground(new Color(180,180,180));
			C2.addItemListener(this);
		C3 = new JCheckBox("Cheque 5%");
		C3.addItemListener(this);
			L2 = new JLabel("Opcao de pagamento");
			L2.setForeground(Color.black);
		L3 = new JLabel("Preço");
		L3.setForeground(Color.black);
		L3 = new JLabel("Preço com desconto");
		L3.setForeground(Color.black);		
		String[] tipo = {"Brinco","Celular","PenDrive","Caneta","Mouse"};
			combo = new JComboBox(tipo);
			combo.addItemListener(this);
			B1 = new JButton ("Novo");      
			B1.addActionListener(this);
		getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));
		getContentPane().setLayout(new GridLayout(5,2));
		getContentPane().add(L1);
		getContentPane().add(combo);
		getContentPane().add(L2);
		getContentPane().add(C1);
		getContentPane().add(C2);
		getContentPane().add(C3);
		getContentPane().add(L3);
		getContentPane().add(T1);
		getContentPane().add(B1);

  }

			public void actionPerformed(ActionEvent e)
			{
        if (e.getSource()==B1)
          {
          T1.setText("");
		  C1.setSelected(false);
		  C2.setSelected(false);
		  C3.setSelected(false);
          }
			}
			public void itemStateChanged(ItemEvent e)
			{
			S=0
			if(e.getSource()==C1)
			S=(P*10)/100
    {
    if(e.getStateChange()==ItemEvent.SELECTED) 
	T1.setText(" "+S);
	}
			if(e.getSource()==C2)
    {
    if(e.getStateChange()==ItemEvent.SELECTED) 
	T1.setText(""+S);
	
	}
			if(e.getSource()==C3)
    {
    if(e.getStateChange()==ItemEvent.SELECTED) 
	T1.setText(""+S);
	}

	
}
}

1 Resposta

Roger75
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class sanduba extends JFrame implements ActionListener, ItemListener
{
	JLabel L1,L2,L3;
	JTextField T1,T2;
	JCheckBox C1,C2,C3;
	JComboBox combo;
	JButton B1;
	Float S,P;
	public static void main(String args[])
	{
		JFrame Janela = new sanduba();
		Janela.show();
		WindowListener x = new WindowAdapter()
		{
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		};
		Janela.addWindowListener(x);
	}

	sanduba()
	{
		getContentPane().setBackground(new Color(180,180,180));
		setTitle("Sanduiche");
		setSize(300,200);
		T1 = new JTextField();
		T2 = new JTextField();
		L1 = new JLabel("Produto");
		L1.setFont(new Font("Arial",Font.PLAIN,20));
		L1.setForeground(Color.black);
		C1 = new JCheckBox("A vista 10%");
		C1.setBackground(new Color(180,180,180));
		C1.addItemListener(this);
		C2 = new JCheckBox("Cartão");
		C2.setBackground(new Color(180,180,180));
		C2.addItemListener(this);
		C3 = new JCheckBox("Cheque 5%");
		C3.addItemListener(this);
		L2 = new JLabel("Opcao de pagamento");
		L2.setForeground(Color.black);
		L3 = new JLabel("Preço");
		L3.setForeground(Color.black);
		L3 = new JLabel("Preço com desconto");
		L3.setForeground(Color.black);		
		String[] tipo = {"Brinco","Celular","PenDrive","Caneta","Mouse"};
		combo = new JComboBox(tipo);
		combo.addItemListener(this);
		B1 = new JButton ("Novo");      
		B1.addActionListener(this);
		getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));
		getContentPane().setLayout(new GridLayout(5,2));
		getContentPane().add(L1);
		getContentPane().add(combo);
		getContentPane().add(L2);
		getContentPane().add(C1);
		getContentPane().add(C2);
		getContentPane().add(C3);
		getContentPane().add(L3);
		getContentPane().add(T1);
		getContentPane().add(B1);

	}

	public void actionPerformed(ActionEvent e)
	{
		if (e.getSource()==B1)
		{
			T1.setText("");
			C1.setSelected(false);
			C2.setSelected(false);
			C3.setSelected(false);
		}
	}
	public void itemStateChanged(ItemEvent e)
	{
		Float S=new Float(0);
		if(e.getSource()==C1)
			S=(P*10)/100;
		{
			if(e.getStateChange()==ItemEvent.SELECTED) 
				T1.setText(" "+S);
		}
		if(e.getSource()==C2)
		{
			if(e.getStateChange()==ItemEvent.SELECTED) 
				T1.setText(""+S);

		}
		if(e.getSource()==C3)
		{
			if(e.getStateChange()==ItemEvent.SELECTED) 
				T1.setText(""+S);
		}


	}
}

Havia alguns erros no seu código. Quanto à logica, acho que você terá que criar alguma classe como "Produto", onde o preço seria um atributo. Na hora em que selecionasse o produto na tela, carregaria o preço no campo.

Criado 30 de julho de 2010
Ultima resposta 30 de jul. de 2010
Respostas 1
Participantes 2