Академический Документы
Профессиональный Документы
Культура Документы
Classe Carro
1. package projeto.beans;
2.
3. public class Carro extends Veiculo {
4.
5.
public Carro() {
6.
setFatorEstacionameto(1);
7.
}
8.
9. }
Classe Utilitrio
1. package projeto.beans;
2.
3. public class Utilitario extends Veiculo {
4.
5.
public Utilitario() {
6.
setFatorEstacionameto(1.15);
7.
}
8.
9. }
Classe Estacionamento
1. package projeto.beans;
2.
3. import java.util.*;
4.
5. public class Estacionamento {
6.
7.
private double valorHora;
8.
private double totalFaturamentoCarro;
9.
private double totalFaturamentoMoto;
10.
private double totalFaturamentoUtilitario;
11.
private double totalFaturamento;
12.
private ArrayList<Veiculo> veiculos;
13.
14.
public Estacionamento() {
15.
veiculos = new ArrayList<Veiculo>();
16.
}
17.
18.
public Veiculo procurarVeiculo(String placa) {
19.
20.
for(Veiculo v: this.veiculos){
21.
if(v.getPlaca().equals(placa)){
22.
return v;
23.
}
24.
25.
}
26.
return null;
27.
}
28.
29.
public void darEntrada(Veiculo veiculo) {
30.
this.veiculos.add(veiculo);
31.
32.
}
33.
34.
public void darSaida(Veiculo veiculo){
35.
36.
if(veiculo instanceof Moto)
37.
totalFaturamentoMoto +=
veiculo.getTotalEstacionamento();
38.
else if (veiculo instanceof Carro)
39.
totalFaturamentoCarro +=
veiculo.getTotalEstacionamento();
40.
else
41.
totalFaturamentoUtilitario +=
veiculo.getTotalEstacionamento();
totalFaturamento += veiculo.getTotalEstacionamento();
this.veiculos.remove(veiculo);
}
public double getValorHora() {
return valorHora;
}
public void setValorHora(double valorHora) {
this.valorHora = valorHora;
}
public double getTotalFaturamentoCarro() {
return totalFaturamentoCarro;
}
public double getTotalFaturamentoMoto() {
return totalFaturamentoMoto;
}
public double getTotalFaturamentoUtilitario() {
return totalFaturamentoUtilitario;
}
public double getTotalFaturamento() {
return totalFaturamento;
}
}
"FORD",
"HONDA",
"HYUNDAI",
"KIA",
"LAND ROVER",
"MERCEDES-BENZ",
"MITSUBISHI",
"NISSAN",
"PEUGEOT",
"RENAULT",
"SUZUKI",
"TOYOTA",
"VOLKSWAGEN",
"VOLVO",
"Outros carros...",
"-- Motos",//22
"AGRALE",
"AMAZONAS",
"APRILIA",
"BMW",
"BUELL",
"CAGIVA",
"CALOI",
"DAFRA",
"DUCATI",
"GARINNI",
"HARLEY-DAVIDSON",
"HONDA",
"KASINSKI",
"KAWASAKI",
"KTM",
"PIAGGIO",
"SUNDOWN",
"SUZUKI",
"TRIUMPH",
"YAMAHA",
"-- Outras Motos..."
};
private Estacionamento estacionamento;
public JFormEstacionamento() {
super("Estacionamento da Hora");
setLayout(new BorderLayout());
jpnlCentro = new JPanel(new GridBagLayout());
jpnlSul = new JPanel(new FlowLayout());
rotulo1
rotulo2
rotulo3
rotulo4
rotulo5
rotulo6
=
=
=
=
=
=
new
new
new
new
new
new
JLabel("Valor Hora:");
JLabel("Placa:");
JLabel("Hora Entrada:");
JLabel("Hora Sada:");
JLabel("Marca:");
JLabel("Modelo:");
gbc.gridx = 2;
gbc.gridy = 0;
jpnlCentro.add(jbtnAtualizar,gbc);
gbc.gridy = 1;
jpnlCentro.add(jbtnConsultar,gbc);
gbc.gridy = 3;
jpnlCentro.add(rotulo7,gbc);
rotulo7.setFont(new Font(Font.DIALOG,Font.PLAIN,30));
//Adicionando os componentes a coluna 3 do grid
gbc.gridx = 3;
gbc.gridy = 0;
jpnlCentro.add(rotulo5,gbc);
gbc.gridy = 1;
jpnlCentro.add(rotulo6,gbc);
//Adicionando os componentes a coluna 4 do grid
gbc.gridx = 4;
gbc.gridy = 0;
jpnlCentro.add(jcmbMarca,gbc);
gbc.gridy = 1;
jpnlCentro.add(jtxtModelo,gbc);
gbc.gridy = 2;
jpnlCentro.add(jchkUtilitario,gbc);
gbc.gridy = 3;
gbc.anchor = GridBagConstraints.LINE_END;
jpnlCentro.add(jlblTotal,gbc);
jlblTotal.setFont(rotulo7.getFont());
estacionamento = new Estacionamento();
jcmbMarca.addActionListener(this);
jbtnAtualizar.addActionListener(this);
jbtnConsultar.addActionListener(this);
jbtnEntrada.addActionListener(this);
jbtnFaturamento.addActionListener(this);
jbtnLimpar.addActionListener(this);
jbtnSaida.addActionListener(this);
jbtnSair.addActionListener(this);
jpnlSul.add(jbtnLimpar);
jpnlSul.add(jbtnEntrada);
jpnlSul.add(jbtnSaida);
jpnlSul.add(jbtnFaturamento);
jpnlSul.add(jbtnSair);
mudarEstado(true);
add(jpnlCentro, BorderLayout.CENTER);
add(jpnlSul,BorderLayout.SOUTH);
setSize(800,250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
estacionamento.setValorHora(Double.parseDouble(jtxtValorHora.getText()));
247.
JOptionPane.showMessageDialog(null, "Valor hora
atualizado com sucesso!");
248.
249.
}
250.
else if(e.getSource() == jbtnFaturamento){
251.
252.
JOptionPane.showMessageDialog(null, "Total de
Carros: " +
253.
new
DecimalFormat("#,##0.00").format(estacionamento.getTotalFaturamentoCarro()
) +
254.
"\nTotal de Utilitrios: " +
255.
new
DecimalFormat("#,##0.00").format(estacionamento.getTotalFaturamentoUtilita
rio()) +
256.
"\nTotal de Motos: " +
257.
new
DecimalFormat("#,##0.00").format(estacionamento.getTotalFaturamentoMoto())
+
258.
"\nTotal do Estacionamento: " +
259.
new
DecimalFormat("#,##0.00").format(estacionamento.getTotalFaturamento())
260.
);
261.
262.
}
263.
else if(e.getSource() == jbtnLimpar){
264.
265.
limpaCampos();
266.
mudarEstado(true);
267.
268.
}
269.
else if(e.getSource() == jbtnEntrada){
270.
int opcao = jcmbMarca.getSelectedIndex();
if(veic != null){
jtxtModelo.setText(veic.getModelo());
jtxtHoraEntrada.setText(veic.getHoraEntrada());
jcmbMarca.setSelectedItem((Object)veic.getMarca());
322.
323.
if(veic instanceof Utilitario){
324.
jchkUtilitario.setSelected(true);
325.
}
326.
327.
jtxtHoraSaida.setText(new
SimpleDateFormat("HH:mm").format(System.currentTimeMillis()));
328.
mudarEstado(false);
329.
330.
}
331.
else{
332.
JOptionPane.showMessageDialog(null, "Veiculo
no encontrado!");
333.
jtxtHoraEntrada.setText(new
SimpleDateFormat("HH:mm").format(System.currentTimeMillis()));
334.
mudarEstado(true);
335.
}
336.
337.
}
338.
else if(e.getSource() == jbtnSaida){
339.
340.
String placa = jtxtPlaca.getText();
341.
342.
Veiculo veiculo =
estacionamento.procurarVeiculo(placa);
343.
344.
if(jtxtHoraSaida.getText().isEmpty()){
345.
JOptionPane.showMessageDialog(null, "Hora
Sada no pode ser vazio!", "ERRO",JOptionPane.ERROR_MESSAGE);
346.
}
347.
else{
348.
veiculo.setHoraSaida(jtxtHoraSaida.getText());
349.
350.
veiculo.calcularValor(estacionamento.getValorHora());
351.
352.
if(veiculo.getTotalEstacionamento() >=0 ){
353.
estacionamento.darSaida(veiculo);
354.
355.
jlblTotal.setText(new
DecimalFormat("#,##0.00").format(veiculo.getTotalEstacionamento()));
356.
357.
JOptionPane.showMessageDialog(null,
"Fechamento efetuado com sucesso!");
358.
359.
mudarEstado(true);
360.
361.
jbtnEntrada.setEnabled(false);