Swing:Exemplo Locadora parte 1: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada)
Linha 125: Linha 125:
}
}


</syntaxhighlight>
<syntaxhighlight lang="java">
public class Carro {
private String nome;
private Double diaria;
private String classe;
public Carro(String _nome, Double _diaria, String _classe){
nome = _nome;
diaria = _diaria;
classe = _classe;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Double getDiaria() {
return diaria;
}
public void setDiaria(Double diaria) {
this.diaria = diaria;
}
public String getClasse() {
return classe;
}
public void setClasse(String classe) {
this.classe = classe;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.nome + " [" + this.classe + "]";
}
}
</syntaxhighlight>
</syntaxhighlight>

Edição atual tal como às 18h24min de 28 de abril de 2015

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class LocadoraSwing extends JFrame {
	private final static int marginLeft = 20;
	private final static int marginMeio = 220;
	private final static int paddingTop = 40;
	private static int top = 20;
	private List<Carro> garagem;
	
	public LocadoraSwing(String title){
		super(title);
		garagem = new ArrayList<Carro>();
		
		setBounds(100,100,500,400);
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		inicializaGaragem();
		getContentPane().setLayout(null);
		
		JLabel nomeLbl = new JLabel("Escolha um carro:");
		nomeLbl.setBounds(marginLeft,top,200,30);
		add(nomeLbl);
		
		JTextField precoTxt = new JTextField();
		
		JComboBox jc = new JComboBox(garagem.toArray());
		jc.insertItemAt("--Selecione--", 0);
		jc.setSelectedIndex(0);
		jc.setBounds(marginMeio,top,200,30);
		jc.addActionListener(new ActionListener() {			
			@Override
			public void actionPerformed(ActionEvent e) {
				if(jc.getSelectedIndex()!=0){
					Carro c = (Carro)jc.getSelectedItem();
					precoTxt.setText(c.getDiaria()+"");
				}
			}
		});			
		add(jc);
		top+=paddingTop;
		
		JLabel precoLbl = new JLabel("Preço da diária");
		precoLbl.setBounds(marginLeft,top,200,30);
		add(precoLbl);
		
		precoTxt.setBounds(marginMeio,top,200,30);
		add(precoTxt);
		
		top+=paddingTop;
		
		JLabel descLbl = new JLabel("Desconto:");
		descLbl.setBounds(marginLeft,top,200,30);
		add(descLbl);
		
		JTextField descTxt = new JTextField();
		descTxt.setBounds(marginMeio,top,200,30);
		descTxt.setText("0.0");
		add(descTxt);
		
		top+=paddingTop;
		
		JSeparator sep = new JSeparator();
		sep.setBounds(marginLeft, top, 400, 5);
		add(sep);
		
		top+=this.paddingTop;
		
		JLabel valorFinalRSLbl = new JLabel();
		
		JButton jb = new JButton("Calcular");
		jb.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				Double preco = Double.parseDouble(precoTxt.getText());
				Double desc = Double.parseDouble(descTxt.getText());
				Double precoFinal = preco - desc;
				valorFinalRSLbl.setText("R$ "+precoFinal+"");
			}
		});
		jb.setBounds(marginLeft,top,150,30);
		add(jb);
		
		top+=this.paddingTop;top+=this.paddingTop;
		
		JLabel valorLbl = new JLabel("Valor final:");
		valorLbl.setBounds(marginLeft,top,200,30);
		add(valorLbl);
		
		valorFinalRSLbl.setBounds(marginMeio,top,200,30);
		add(valorFinalRSLbl);
				
	}
	public void inicializaGaragem(){
		Carro fusca = new Carro("Fusca",75d,"C");
		Carro jetta = new Carro("Jetta",140d,"A");
		Carro gol = new Carro("Gol",90d,"B");
		
		garagem.add(fusca);
		garagem.add(gol);
		garagem.add(jetta);
	}

	public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException {
//		UIManager.setLookAndFeel("com.jtattoo.plaf.smart.SmartLookAndFeel");
		
		LocadoraSwing s = new LocadoraSwing("Locadora de carro");
		s.setVisible(true);
		s.setResizable(false);
		
	}
	
}
public class Carro {
	private String nome;
	private Double diaria;
	private String classe;
	
	public Carro(String _nome, Double _diaria, String _classe){
		nome = _nome;
		diaria = _diaria;
		classe = _classe;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Double getDiaria() {
		return diaria;
	}

	public void setDiaria(Double diaria) {
		this.diaria = diaria;
	}

	public String getClasse() {
		return classe;
	}

	public void setClasse(String classe) {
		this.classe = classe;
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return this.nome + " [" + this.classe + "]";
	}

}