Ajudapoo

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

package C;

import M.Pizza;

import java.io.FileOutputStream;

import java.io.ObjectOutputStream;

import java.util.ArrayList;

import java.util.List;

import java.io.FileOutputStream;

import java.io.ObjectOutputStream;

import java.util.ArrayList;

import java.util.List;

public class PizzaController {

private List<Pizza> pizzas;

public PizzaController() {

pizzas = new ArrayList<>();

public void addPizza(Pizza pizza) {

pizzas.add(pizza);

savePizzas();

private void savePizzas() {

try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("pizzas.dat"))) {

oos.writeObject(pizzas);

} catch (Exception e) {

e.printStackTrace();

public List<Pizza> getPizzas() {

return pizzas;

}
package V;

import C.PizzaController;

import M.Pizza;

import javax.swing.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class FormRegistarPizzas extends JFrame {

private JTextField txtRecheio,txtBorda;

//private JTextField txtBorda;

private JTextField txtMolho;

private JTextField txtPreco;

private JButton btnSalvar;

private PizzaController pizzaController;

public FormRegistarPizzas(PizzaController controller) {

this.pizzaController = controller;

setTitle("Registrar Pizza");

setSize(400, 300);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setLocationRelativeTo(null);

setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));

txtRecheio = new JTextField();

txtBorda = new JTextField();

txtMolho = new JTextField();

txtPreco = new JTextField();

btnSalvar = new JButton("Salvar");

add(new JLabel("Recheio:"));

add(txtRecheio);

add(new JLabel("Borda:"));

add(txtBorda);

add(new JLabel("Molho:"));

add(txtMolho);

add(new JLabel("Preço:"));

add(txtPreco);
add(btnSalvar);

btnSalvar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

Pizza pizza = new Pizza(txtRecheio.getText(), txtBorda.getText(), txtMolho.getText(),


Double.parseDouble(txtPreco.getText()));

pizzaController.addPizza(pizza);

JOptionPane.showMessageDialog(null, "Pizza registrada com sucesso!");

});

package V;

import C.PizzaController;

import M.Pizza;

import java.awt.*;

import javax.swing.table.DefaultTableModel;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.FileInputStream;

import java.io.ObjectInputStream;

import java.util.List;

public class FormListarPizzas extends JFrame {

private JTable table;

private DefaultTableModel tableModel;

private JButton btnListar;

private PizzaController pizzaController;

public FormListarPizzas(PizzaController controller) {

this.pizzaController = controller;

setTitle("Listar Pizzas");

setSize(600, 400);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

setLocationRelativeTo(null);

setLayout(new BorderLayout());
tableModel = new DefaultTableModel(new Object[]{"Recheio", "Borda", "Molho", "Preço"}, 0);

table = new JTable(tableModel);

add(new JScrollPane(table), BorderLayout.CENTER);

JPanel panel = new JPanel();

btnListar = new JButton("Listar");

panel.add(btnListar);

add(panel, BorderLayout.SOUTH);

btnListar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

listarPizzas();

});

private void listarPizzas() {

tableModel.setRowCount(0); // Limpa a tabela antes de listar novamente

try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("pizzas.dat"))) {

List<Pizza> pizzas = (List<Pizza>) ois.readObject();

pizzas.sort((p1, p2) -> Double.compare(p1.getPreco(), p2.getPreco()));

for (Pizza pizza : pizzas) {

tableModel.addRow(new Object[]{pizza.getRecheio(), pizza.getBorda(), pizza.getMolho(),


pizza.getPreco()});

} catch (Exception ex) {

ex.printStackTrace();

package V;
import C.PizzaController;

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

import java.awt.event.ActionListener;

public class TelaPrincipal extends JFrame {

private JMenuBar menuBar;

private JMenu menuPizza;

private JMenuItem menuItemCadastrar, menuItemListar;

private PizzaController pizzaController;

public TelaPrincipal() {

pizzaController = new PizzaController();

setTitle("Quase Três Lanches");

setSize(600, 400);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocationRelativeTo(null);

menuBar = new JMenuBar();

menuPizza = new JMenu("Pizza");

menuItemCadastrar = new JMenuItem("Cadastrar");

menuItemListar = new JMenuItem("Listar");

menuPizza.add(menuItemCadastrar);

menuPizza.add(menuItemListar);

menuBar.add(menuPizza);

setJMenuBar(menuBar);

menuItemCadastrar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

new FormRegistarPizzas(pizzaController).setVisible(true);

});

menuItemListar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

new FormListarPizzas(pizzaController).setVisible(true);

});
}

public static void main(String[] args) {

new TelaPrincipal().setVisible(true);

package M;

import java.io.Serializable;

public class Pizza implements Serializable {

private String recheio;

private String borda;

private String molho;

private double preco;

public Pizza(String recheio, String borda, String molho, double preco) {

this.recheio = recheio;

this.borda = borda;

this.molho = molho;

this.preco = preco;

public String getRecheio() {

return recheio;

}public String getBorda() {

return borda;

public String getMolho() {

return molho;

public double getPreco() {

return preco;

@Override

public String toString() {

return "Pizza{" +

"recheio='" + recheio + '\'' +


", borda='" + borda + '\'' +

", molho='" + molho + '\'' +

", preco=" + preco +

'}';

You might also like