2
Copyright 2010, 2012, 2014 Jose Robson Mariano Alves
4
This file is part of bgfinancas.
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
11
This package is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
23
import Biblioteca.Botoes;
24
import Biblioteca.Formularios;
25
import Biblioteca.Janela;
26
import Biblioteca.Janelinha;
27
import Biblioteca.Numeros;
28
import Biblioteca.Validar;
29
import Biblioteca.Visual;
30
import Principal.TelaPrincipal;
32
public class Contas extends Janela {
35
private String id_conta;
36
private TelaPrincipal Principal;
38
public Contas(TelaPrincipal principal) {
40
Visual.Janela(this.getJanela());
41
BarraDeFerramentas.add(Botoes.Cadastrar(this));
42
BarraDeFerramentas.add(Botoes.Alterar(this));
43
BarraDeFerramentas.add(Botoes.Excluir(this));
44
BarraDeFerramentas.add(Botoes.Consultar(this));
45
BarraDeFerramentas.add(Botoes.Sair(this));
46
Principal = principal;
47
PreencherFormulario(null,null,null,null,null,null);
50
public void PreencherFormulario(String acao, String conta_id, String nome_conta, String valor, String Ativado, String Saldo_total)
54
Formularios.LimparFormulario(JPanelConta);
55
conta_nome.requestFocus();
56
BFinalizar.setVisible(true);
59
BFinalizar.setText(Lingua.getMensagem("aguardando_acao"));
60
Formularios.DesativarFormulario(JPanelConta);
62
Formularios.AtivarFormulario(JPanelConta);
63
BFinalizar.setText(Acao);
64
if(Acao.equals(Lingua.getMensagem("cadastrar")))
68
ativar.setSelectedItem(Ativado);
69
saldo_total.setSelectedItem(Saldo_total);
70
conta_nome.setText(nome_conta);
71
saldo_atual.setText(valor);
72
if(Acao.equals(Lingua.getMensagem("consultar")))
74
BFinalizar.setVisible(false);
80
public boolean ValidarFormulario()
82
if(conta_nome.getText().equals("")) {
83
Janelinha.Aviso(Lingua.getMensagem("atencao"),Lingua.getMensagem("campo_nao_informado")+" "+Lingua.getMensagem("conta"));
84
conta_nome.requestFocus(true);
86
}else if(Validar.Numero(saldo_atual.getText())) {
87
Janelinha.Aviso(Lingua.getMensagem("atencao"),Lingua.getMensagem("saldo_inicial_invalido"));
88
saldo_atual.requestFocus(true);
90
}else if(Acao.equals(Lingua.getMensagem("cadastrar")) && saldo_atual.getText().equals(""))
92
Janelinha.Aviso(Lingua.getMensagem("atencao"),Lingua.getMensagem("campo_nao_informado")+" "+Lingua.getMensagem("saldo_atual"));
93
saldo_atual.requestFocus(true);
100
public void Cadastrar()
103
if(ativar.getSelectedItem().equals(Lingua.getMensagem("sim")))
108
if(saldo_total.getSelectedItem().equals(Lingua.getMensagem("sim")))
113
Banco.executeUpdate("INSERT INTO contas (nome,valor,ativada,saldo_total) VALUES ('"+conta_nome.getText()+"','"+Numeros.Arrendondar(saldo_atual.getText())+"','"+ativada+"','"+saldototal+"')");
114
Janelinha.Aviso(Lingua.getMensagem("cadastrar"),Lingua.getMensagem("sucesso"));
115
Principal.ContasSaldo();
116
PreencherFormulario(Lingua.getMensagem("cadastrar"),null,null,null,null,null);
118
Janelinha.Aviso(Lingua.getMensagem("erro"),Lingua.getMensagem("excecao")+" "+e);
122
public void Alterar()
125
if(ativar.getSelectedItem().equals(Lingua.getMensagem("sim")))
130
if(saldo_total.getSelectedItem().equals(Lingua.getMensagem("sim")))
135
Banco.executeUpdate("UPDATE contas SET nome='"+conta_nome.getText()+"', valor='"+saldo_atual.getText()+"', ativada='"+ativada+"', saldo_total='"+saldototal+"' WHERE id_conta='"+id_conta+"'");
136
Janelinha.Aviso(Lingua.getMensagem("alterar"),Lingua.getMensagem("sucesso"));
137
Principal.ContasSaldo();
138
PreencherFormulario(null,null,null,null,null,null);
140
Janelinha.Aviso(Lingua.getMensagem("erro"),Lingua.getMensagem("excecao")+" "+e);
144
public void Excluir()
147
Banco.executeQuery("SELECT * FROM despesas WHERE id_conta='"+id_conta+"'");
148
if(Banco.getResultSet().next())
150
Janelinha.Aviso(Lingua.getMensagem("erro"),Lingua.getMensagem("restricao_excluir"));
151
PreencherFormulario(null,null,null,null,null,null);
153
Banco.executeQuery("SELECT * FROM receitas WHERE id_conta='"+id_conta+"'");
154
if(Banco.getResultSet().next())
156
Janelinha.Aviso(Lingua.getMensagem("erro"),Lingua.getMensagem("restricao_excluir"));
157
PreencherFormulario(null,null,null,null,null,null);
159
Banco.executeQuery("SELECT * FROM transferencias WHERE id_conta1='"+id_conta+"' OR id_conta2='"+id_conta+"'");
160
if(Banco.getResultSet().next())
162
Janelinha.Aviso(Lingua.getMensagem("erro"),Lingua.getMensagem("restricao_excluir"));
163
PreencherFormulario(null,null,null,null,null,null);
165
if(Banco.executeUpdate("DELETE FROM contas WHERE id_conta='"+id_conta+"'")>0)
167
Janelinha.Aviso(Lingua.getMensagem("excluir"),Lingua.getMensagem("sucesso"));
168
PreencherFormulario(null,null,null,null,null,null);
169
Principal.ContasSaldo();
171
PreencherFormulario(null,null,null,null,null,null);
177
Janelinha.Aviso(Lingua.getMensagem("erro"),Lingua.getMensagem("excecao")+" "+e);
182
public void Botoes(String acao)
184
if(acao.equals(Lingua.getMensagem("cadastrar"))){
185
PreencherFormulario(Lingua.getMensagem("cadastrar"),null,null,null,null,null);
186
}else if(acao.equals(Lingua.getMensagem("alterar"))){
187
new ContasPesquisar(this,Lingua.getMensagem("alterar")).setVisible(true);
188
}else if(acao.equals(Lingua.getMensagem("excluir"))){
189
new ContasPesquisar(this,Lingua.getMensagem("excluir")).setVisible(true);
190
}else if(acao.equals(Lingua.getMensagem("consultar"))){
191
new ContasPesquisar(this,Lingua.getMensagem("consultar")).setVisible(true);
192
}else if(acao.equals(Lingua.getMensagem("sair"))){
193
Contas.this.dispose();
197
/** This method is called from within the constructor to
198
* initialize the form.
199
* WARNING: Do NOT modify this code. The content of this method is
200
* always regenerated by the Form Editor.
202
@SuppressWarnings("unchecked")
203
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
204
private void initComponents() {
206
BarraDeFerramentas = new javax.swing.JToolBar();
207
JPanelConta = new javax.swing.JPanel();
208
NOME = new javax.swing.JLabel();
209
conta_nome = new javax.swing.JTextField();
210
BFinalizar = new javax.swing.JButton();
211
saldo_atual = new javax.swing.JTextField();
212
NOME2 = new javax.swing.JLabel();
213
ativar = new javax.swing.JComboBox();
214
NOME3 = new javax.swing.JLabel();
215
NOME4 = new javax.swing.JLabel();
216
NOME5 = new javax.swing.JLabel();
217
saldo_total = new javax.swing.JComboBox();
219
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
220
setTitle(Lingua.getMensagem("contas"));
221
setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N
222
setForeground(java.awt.Color.cyan);
223
getContentPane().setLayout(null);
225
BarraDeFerramentas.setFloatable(false);
226
BarraDeFerramentas.setRollover(true);
227
getContentPane().add(BarraDeFerramentas);
228
BarraDeFerramentas.setBounds(0, 0, 490, 41);
230
JPanelConta.setBorder(javax.swing.BorderFactory.createTitledBorder(null, Lingua.getMensagem("dados_conta"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, FonteFinancas, new java.awt.Color(0, 102, 204)));
231
JPanelConta.setForeground(new java.awt.Color(51, 94, 168));
232
JPanelConta.setLayout(null);
234
NOME.setFont(FonteFinancas);
235
NOME.setForeground(new java.awt.Color(51, 94, 168));
236
NOME.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
237
NOME.setText(Lingua.getMensagem("nome")+":");
238
JPanelConta.add(NOME);
239
NOME.setBounds(8, 30, 130, 20);
241
conta_nome.setFont(FonteFinancas);
242
JPanelConta.add(conta_nome);
243
conta_nome.setBounds(150, 30, 200, 20);
245
BFinalizar.setFont(FonteFinancas);
246
BFinalizar.setText(Lingua.getMensagem("aguardando_acao"));
247
BFinalizar.addActionListener(new java.awt.event.ActionListener() {
248
public void actionPerformed(java.awt.event.ActionEvent evt) {
249
BFinalizarActionPerformed(evt);
252
JPanelConta.add(BFinalizar);
253
BFinalizar.setBounds(150, 150, 100, 20);
255
saldo_atual.setFont(FonteFinancas);
256
JPanelConta.add(saldo_atual);
257
saldo_atual.setBounds(170, 60, 80, 20);
258
saldo_atual.setDocument(new Biblioteca.NotacaoInternacional());
260
NOME2.setFont(FonteFinancas);
261
NOME2.setForeground(new java.awt.Color(51, 94, 168));
262
NOME2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
263
NOME2.setText(Lingua.getMensagem("moeda"));
264
JPanelConta.add(NOME2);
265
NOME2.setBounds(150, 60, 20, 20);
267
ativar.setFont(FonteFinancas);
268
ativar.setModel(new javax.swing.DefaultComboBoxModel(new String[] { Lingua.getMensagem("sim"), Lingua.getMensagem("nao") }));
269
JPanelConta.add(ativar);
270
ativar.setBounds(150, 120, 100, 20);
272
NOME3.setFont(FonteFinancas);
273
NOME3.setForeground(new java.awt.Color(51, 94, 168));
274
NOME3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
275
NOME3.setText(Lingua.getMensagem("ativada")+":");
276
JPanelConta.add(NOME3);
277
NOME3.setBounds(10, 120, 130, 20);
279
NOME4.setFont(FonteFinancas);
280
NOME4.setForeground(new java.awt.Color(51, 94, 168));
281
NOME4.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
282
NOME4.setText(Lingua.getMensagem("saldo_atual")+":");
283
JPanelConta.add(NOME4);
284
NOME4.setBounds(8, 60, 130, 20);
286
NOME5.setFont(FonteFinancas);
287
NOME5.setForeground(new java.awt.Color(51, 94, 168));
288
NOME5.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
289
NOME5.setText(Lingua.getMensagem("saldo_total")+":");
290
JPanelConta.add(NOME5);
291
NOME5.setBounds(10, 90, 130, 20);
293
saldo_total.setFont(FonteFinancas);
294
saldo_total.setModel(new javax.swing.DefaultComboBoxModel(new String[] { Lingua.getMensagem("sim"), Lingua.getMensagem("nao") }));
295
JPanelConta.add(saldo_total);
296
saldo_total.setBounds(150, 90, 100, 20);
298
getContentPane().add(JPanelConta);
299
JPanelConta.setBounds(20, 60, 390, 200);
301
setSize(new java.awt.Dimension(441, 302));
302
setLocationRelativeTo(null);
303
}// </editor-fold>//GEN-END:initComponents
305
private void BFinalizarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BFinalizarActionPerformed
306
if(Acao.equals(Lingua.getMensagem("cadastrar")))
308
if(ValidarFormulario() && Janelinha.Pergunta(Lingua.getMensagem("cadastrar"),Lingua.getMensagem("tem_certeza")))
312
}else if(Acao.equals(Lingua.getMensagem("alterar"))){
313
if(ValidarFormulario() && Janelinha.Pergunta(Lingua.getMensagem("alterar"),Lingua.getMensagem("tem_certeza")))
317
}else if(Acao.equals(Lingua.getMensagem("excluir")))
319
if(Janelinha.Pergunta(Lingua.getMensagem("excluir"),Lingua.getMensagem("tem_certeza")))
324
}//GEN-LAST:event_BFinalizarActionPerformed
326
// Variables declaration - do not modify//GEN-BEGIN:variables
327
private javax.swing.JButton BFinalizar;
328
private javax.swing.JToolBar BarraDeFerramentas;
329
private javax.swing.JPanel JPanelConta;
330
private javax.swing.JLabel NOME;
331
private javax.swing.JLabel NOME2;
332
private javax.swing.JLabel NOME3;
333
private javax.swing.JLabel NOME4;
334
private javax.swing.JLabel NOME5;
335
private javax.swing.JComboBox ativar;
336
private javax.swing.JTextField conta_nome;
337
private javax.swing.JTextField saldo_atual;
338
private javax.swing.JComboBox saldo_total;
339
// End of variables declaration//GEN-END:variables