Visualizações de Conteúdo : 39460

USUÁRIOS ON-LINE

Nós temos 2 visitantes online

Cadastro de Produtos

Imprimir PDF

 

 

Sistema Simples De Cadastro De Produtos

Sistema De Cadastro De Produtos Bomboniere XYZSistema simples de cadastro de produtos para uma Bomboniere com o nome fictício de XYZ da aula de POO – Programação Orientada a Objetos. Vou utilizar 3 classes para esse sistema simples. A primeira classe e a que contem o método principal por comodidade. Na verdade são 4 classes já que tem uma classe chamada “Itens” dentro da classe Produtos.

ATENÇÃO: Não faço uso de banco de dados porque a intenção aqui é só abordar a orientação a objetos o mais simples possível. Não estou usando também nem imagens nem GUI, só o básico mesmo.

1ª Classe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package projeto;
import java.awt.Toolkit;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import javax.swing.JOptionPane;
//Curso Desenvolvimento De Sistema Java
//Aula Java POO - Programação Orientada a Objetos
//Sistema De Cadastro De Produtos Bomboniere XYZ
public class CadastrarProdutos {
// Cadastro De Produtos: Bomboniere
public static void main(String[] args) {
// Pegando a data atual do sistema
// criamos um locale para o Brasil
Locale localBR = new Locale("pt", "BR");
// vamos obter a data e hora atual
Calendar agora = Calendar.getInstance();
// vamos formatar de acordo com o formato de
// data longa no português brasileiro
DateFormat formatoDeData = DateFormat.getDateInstance(DateFormat.FULL,
localBR);
// vamos exibir o resultado
// Pegas o país
// jlbPais.setText(localeBR.getDisplayCountry());
// Pegas a data
// jlbData.setText(formatoDeData.format(agora.getTime()));
// ********************************************************************
// Declaraçao da variavel menu do tipo integer
int menu = 0;
// Instanciando um novo objeto
// da classe produtos
Produtos novoItem = new Produtos();
do {
menu = Integer.parseInt(JOptionPane.showInputDialog(null,
" Sistema De Cadastro De Produtos: Bomboniere XYZ   \n\n"
+ formatoDeData.format(agora.getTime())
+ "\n\nQual item deseja escolher? "
+ "\n\n1 - Cadastrar Produtos "
+ "\n 2 - Exibir Produtos "
+ "\n 3 - Imprimir Produtos " + "\n 4 - Sair"));
if (menu == 1) {
try {
String codigo = JOptionPane.showInputDialog(null,
" Digite o código do produto: ");
String descricao = JOptionPane.showInputDialog(null,
" Digite o nome do produto: ").toUpperCase();
Double preco = Double.parseDouble(JOptionPane
.showInputDialog(null,
" Digite o preço do produto: "));
// Pega a data do do sistema
String data = JOptionPane.showInputDialog(null,
" Digite a data do cadastro: ",
new SimpleDateFormat("dd/MM/yyyy")
.format(new Date()));
// chamando o metodo
novoItem.cadastrarProdutos(codigo, descricao, preco, data);
} catch (Exception e) {
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(null,
"Um dos dados está incorreto!",
"Cadastro De Produtos: Bomboniere XYZ",
JOptionPane.ERROR_MESSAGE);
}
} else if (menu == 2) {
// chamando o metodo mostrar Produtos
JOptionPane.showMessageDialog(
null,
"Lista do(s) produto(s) cadastrado(s): "
+ new SimpleDateFormat("dd/MM/yyyy")
.format(new Date()) + " \n"
+ novoItem.mostrarProdutos(),
" Cadastro De Produtos: Bomboniere XYZ",
JOptionPane.INFORMATION_MESSAGE);
} else if (menu == 3) {
int imprimir = JOptionPane.showConfirmDialog(null,
"Deseja imprimir produtos cadastrado?",
"Bomboniere XYZ", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (imprimir == 0) {
// Esse metodo ele apenas salva o arquivo Bomboniere XYZ.txt
// para depois voce imprimir se assim quiser, se quiser usar
// esse comente o metodo novoItem.imprimir(); abaixo e
// descomente esse novoItem.imprimirDados();
// Esse é o metodo que chama a impresora para imprimir os
// dados cadastrados se houver dados cadastrados
// ATENÇAO: ELE IMPRIMI DIRETO SE TIVER IMPRESSORA INSTALADA
novoItem.imprimir();
}
} else if (menu == 4) {
int sair = JOptionPane.showConfirmDialog(null,
"Deseja realmente sair do programa?", "Bomboniere XYZ",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
if (sair == JOptionPane.YES_OPTION) {
System.exit(0);
}
} else if ((menu > 4) || (menu < 1)) {
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(null,
"Por favor escolha uma opção correta \nentre 1 e 4!",
"Cadastro De Produtos: Bomboniere XYZ",
JOptionPane.ERROR_MESSAGE);
}
} while (menu != 0);
System.exit(0);
}
}

2ª Classe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
package projeto;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JOptionPane;
//Cadastro De Produtos: Bomboniere XYZ
public class Produtos {
String dados = "";
ArrayList<Itens> Produtos = new ArrayList<Itens>();
// Metodo para cadastrar os produtos
public void cadastrarProdutos(String codigo, String descricao,
double preco, String data) {
Itens novoProduto = new Itens();
novoProduto.codigo = codigo;
novoProduto.descricao = descricao;
novoProduto.preco = preco;
novoProduto.data = data;
Produtos.add(novoProduto);
JOptionPane.showMessageDialog(null, "Produto cadastrado com sucesso.",
"Bomboniere XYZ", JOptionPane.INFORMATION_MESSAGE);
}// Fim do metodo para cadastrar os produtos
// Metodo para mostrar os produtos
public String mostrarProdutos() {
// String dados = "";
for (Itens produtos : Produtos) {
dados += " Código do produto: " + produtos.codigo
+ " Descrição do produto: " + produtos.descricao
+ " Preço do produto: R$: " + produtos.preco
+ " Data do cadastro: " + produtos.data + "\n";
}
return dados;
}// Fim do metodo para mostrar os produtos
// Esse metodo ele apenas salva o arquivo Bomboniere XYZ.txt para depois
// voce imprimir se assim quiser
public void imprimirDados() {
try {
// Abre arquivo para escrita
BufferedWriter texto = new BufferedWriter(new FileWriter(
"Bomboniere XYZ.txt", true));
// passa para a proxima linha
texto.newLine();
// escreve o texto
texto.write("Bomboniere XYZ - Cadastro de produtos: ");
// passa para a proxima linha
texto.newLine();
// escreve o texto
texto.write("===============================================");
// passa para a proxima linha
texto.newLine();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
// escreve a data do sistema
texto.write(sdf.format(new Date()));
// passa para a proxima linha
texto.newLine();
// escreve o texto
// texto.write(" ");
texto.newLine();
// escreve o texto da textarea com quebra de linha no txt
// texto.write(mostrarProdutos().replaceAll("\n", "\r\n"));
for (Itens produtos : Produtos) {
texto.write(("Código do produto: " + produtos.codigo
+ " Descrição do produto: " + produtos.descricao
+ " Preço do produto: R$: " + produtos.preco
+ " Data do cadastro: " + produtos.data + "\n")
.replaceAll("\n", "\r\n"));
}
// passa para a proxima linha
texto.newLine();
// Joga o conteúdo da memória
texto.flush();
// Fecha o arquivo e libera-o
texto.close();
JOptionPane.showMessageDialog(null, "Produto salvo com sucesso.",
"Bomboniere XYZ", JOptionPane.INFORMATION_MESSAGE);
} // fim try
catch (Exception ex) {
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(null, "Erro ao salvar o documento!",
"Cadastro De Produtos: Bomboniere XYZ",
JOptionPane.ERROR_MESSAGE);
} // fim catch
}
// Esse é o método que chama a impressora para imprimir os
// dados cadastrados se houver dados cadastrados
// ATENÇÃO: ELE IMPRIMI DIRETO SE TIVER IMPRESSORA INSTALADA
public void imprimir() {
if (!Produtos.isEmpty()) {
// File arquivo = new
// File("C:/users/aluno/Desktop/Bomboniere.txt");
File arquivo = new File(System.getProperty("user.dir")
+ "Bomboniere XYZ.txt");
PrintWriter imprimir = null;
try {
imprimir = new PrintWriter(arquivo);
imprimir.println("Bomboniere XYZ - Cadastro de produtos: ");
imprimir.println("============================================");
imprimir.println(" ");
SimpleDateFormat sdf = new SimpleDateFormat(
"dd/MM/yyyy HH:mm:ss");
// escreve a data do sistema
imprimir.println(sdf.format(new Date()));
imprimir.println(" ");
for (Itens produtos : Produtos) {
imprimir.println("Código do produto: " + produtos.codigo
+ " Descrição do produto: " + produtos.descricao
+ " Preço do produto: R$: " + produtos.preco
+ " Data do cadastro: " + produtos.data);
}
// imprimir arquivo txt
Desktop.getDesktop().print(arquivo);
} catch (Exception e) {
// tratamento de erros aqui
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(null,
"Erro ao imprimir o documento!",
"Cadastro De Produtos: Bomboniere XYZ",
JOptionPane.ERROR_MESSAGE);
} finally {
if (imprimir != null) {
// Fecha o arquivo txt
imprimir.close();
// Deleta o arquivo criado depois de fechar a aplicação
arquivo.deleteOnExit();
}
}
} else {
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog(null, "Não há produtos cadastrados!",
"Cadastro De Produtos: Bomboniere XYZ",
JOptionPane.ERROR_MESSAGE);
}
}
class Itens {
private String codigo;
private String descricao;
private double preco;
private String data;
}
}

3ª Classe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package projeto;
//Classe com os gets e sets
public class Categorias {
private String _nome;
private int _codigo;
private double _peso;
private double _valor;
void setNome(String nome) {
this._nome = nome;
}
String getNome() {
return _nome;
}
void setCodigo(int codigo) {
this._codigo = codigo;
}
int getCodigo() {
return