Skip to content

Commit

Permalink
Primeiras classes adicionadas: DivCon (GUI/principal), Participante e…
Browse files Browse the repository at this point in the history
… teste da divcon
  • Loading branch information
Pedro-V committed Oct 18, 2022
1 parent c161e0c commit 3419e26
Show file tree
Hide file tree
Showing 5 changed files with 107 additions and 0 deletions.
Binary file added lib/hamcrest-core-1.3.jar
Binary file not shown.
Binary file added lib/junit-4.13.2.jar
Binary file not shown.
82 changes: 82 additions & 0 deletions src/divcon/DivCon.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
package divcon;
import java.awt.BorderLayout;
import java.util.List;

import javax.swing.*;

public class DivCon {
private static final String VERSAO = "Versão 1.0\n";

private JFrame frame;
private JButton addParticipanteButton;
private JButton addSaldoButton;
private int saldoReal;
private int saldoDecimal;
private JLabel statusLabel;
private JLabel infoLabel;

private List<Participante> participantes;

public DivCon() {
makeFrame();
}

// --- Funções da aplicação e da GUI ---
private void mostraAjuda() {
String mensagem_ajuda = "DivCon\n" + VERSAO + "DivCon é um app para facilitar a divisão de contas com quem você ama";
JOptionPane.showMessageDialog(frame,
mensagem_ajuda,
"Sobre o DivCon",
JOptionPane.INFORMATION_MESSAGE);
}

private void addParticipante() {};

private String getStatusFormatado() {
return "Particpantes: " + participantes.size() + "| Saldo total: " + getSaldoFormatado();
}
private String getSaldoFormatado() {
return "R$ " + saldoReal + "," + saldoDecimal;
}
private void addSaldo() {};
// A aplicação vai vir com uns serviços básicos: Internet, água, luz, supermercado, etc
private void addServico() {};

private void pagarServico() {};

// --- GUI ---
private void makeFrame() {
frame = new JFrame("DivCon");
JPanel contentPane = (JPanel)frame.getContentPane();

makeMenuBar(frame);

contentPane.setLayout(new BorderLayout(6, 6));
/**
* Cria um label na parte superior indicando a quantidade de participantes
* e o saldo disponível atualmente
*/
statusLabel = new JLabel(getStatusFormatado());
contentPane.add(statusLabel);

// Cria um label na parte inferior para avisos e informações
infoLabel = new JLabel(VERSAO);
contentPane.add(infoLabel);
}

private void makeMenuBar(JFrame frame) {
JMenuBar menubar = new JMenuBar();
frame.setJMenuBar(menubar);

JMenu menu;
JMenuItem item;
// Cria o menu de ajuda
menu = new JMenu("Ajuda");
menubar.add(menu);

item = new JMenuItem("Sobre o DivCon...");
item.addActionListener(e -> mostraAjuda());
menu.add(item);
//
}
}
21 changes: 21 additions & 0 deletions src/divcon/Participante.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package divcon;

public class Participante {
private String nome;
private Float saldoIndividual;

public Participante(String nome, String saldoInicial) {
this.nome = nome;
// Formatamos de 10,9,9 para 10.99, por ex
String saldoInicialFormatado = saldoInicial.replaceFirst(",", ".").replace(",", "");
saldoIndividual = Float.parseFloat(saldoInicialFormatado);
}

public String getNome() {
return nome;
}

public Float getSaldoIndividual() {
return saldoIndividual;
}
}
4 changes: 4 additions & 0 deletions src/test/DivConTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package test;

public class DivConTest {
}

0 comments on commit 3419e26

Please sign in to comment.