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.Janela;
25
import Biblioteca.Janelinha;
26
import Biblioteca.Visual;
27
import java.sql.SQLException;
28
import javax.swing.table.DefaultTableModel;
30
public final class ReceitasItemPesquisar extends Janela {
32
private final String Acao;
33
private final ReceitasItem receitas_item;
35
public ReceitasItemPesquisar(ReceitasItem despesaItem, String acao) {
37
Visual.Janela(this.getJanela());
38
BarraDeFerramentas.add(Botoes.Sair(this));
40
receitas_item = despesaItem;
41
PreencherCategorias();
42
resultado_pesquisa.setFont(FonteFinancas);
43
resultado_pesquisa.getTableHeader().setFont(FonteFinancas);
46
public void PreencherCategorias()
50
categoria.addItem(Lingua.getMensagem("todas"));
51
Banco.executeQuery("SELECT nome FROM receitas_categorias ORDER BY nome ASC");
52
while(Banco.getResultSet().next())
54
categoria.addItem(Banco.getResultSet().getString("nome"));
58
categoria.addItem(Lingua.getMensagem("nenhum_item_encontrado"));
64
String ID_CATEGORIA = "";
65
if(categoria.getSelectedItem().equals(Lingua.getMensagem("todas")))
67
Banco.executeQuery("SELECT receitas_itens.*, receitas_categorias.nome AS categoria_nome FROM receitas_itens, receitas_categorias WHERE receitas_itens.nome LIKE '%"+nome.getText()+"%' AND receitas_itens.id_categoria = receitas_categorias.id_categoria ORDER BY nome ASC");
69
Banco.executeQuery("SELECT id_categoria FROM receitas_categorias WHERE nome='"+categoria.getSelectedItem()+"'");
72
Banco.getResultSet().next();
73
ID_CATEGORIA = Banco.getResultSet().getString("id_categoria");
74
}catch (SQLException ex) {
75
Janelinha.Aviso(Lingua.getMensagem("atencao"),Lingua.getMensagem("excecao")+" "+ex.getMessage());
77
Banco.executeQuery("SELECT receitas_itens.*, receitas_categorias.nome AS categoria_nome FROM receitas_itens, receitas_categorias WHERE receitas_itens.nome LIKE '%"+nome.getText()+"%' AND receitas_itens.id_categoria='"+ID_CATEGORIA+"' AND receitas_itens.id_categoria = receitas_categorias.id_categoria ORDER BY nome ASC");
81
DefaultTableModel modelo = (DefaultTableModel)resultado_pesquisa.getModel();
83
while(Banco.getResultSet().next())
85
modelo.addRow(new Object[]{Banco.getResultSet().getString("id_item"),Banco.getResultSet().getString("nome"),Banco.getResultSet().getString("categoria_nome")});
87
}catch(SQLException e)
89
Janelinha.Aviso(Lingua.getMensagem("atencao"),Lingua.getMensagem("excecao")+" "+e.getMessage());
94
public void Botoes(String acao)
96
if(acao.equals(Lingua.getMensagem("sair"))){
97
ReceitasItemPesquisar.this.dispose();
102
/** This method is called from within the constructor to
103
* initialize the form.
104
* WARNING: Do NOT modify this code. The content of this method is
105
* always regenerated by the Form Editor.
107
@SuppressWarnings("unchecked")
108
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
109
private void initComponents() {
111
jScrollPane1 = new javax.swing.JScrollPane();
112
jTable1 = new javax.swing.JTable();
113
BarraDeFerramentas = new javax.swing.JToolBar();
114
jPanel1 = new javax.swing.JPanel();
115
jScrollPane2 = new javax.swing.JScrollPane();
116
resultado_pesquisa = new javax.swing.JTable();
117
NOME = new javax.swing.JLabel();
118
nome = new javax.swing.JTextField();
119
ESTADO = new javax.swing.JLabel();
120
categoria = new javax.swing.JComboBox();
121
BFiltrar = new javax.swing.JButton();
123
jTable1.setModel(new javax.swing.table.DefaultTableModel(
125
{null, null, null, null},
126
{null, null, null, null},
127
{null, null, null, null},
128
{null, null, null, null}
131
"Title 1", "Title 2", "Title 3", "Title 4"
134
jScrollPane1.setViewportView(jTable1);
136
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
137
setTitle(Lingua.getMensagem("pesquisar"));
138
setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
140
BarraDeFerramentas.setFloatable(false);
141
BarraDeFerramentas.setRollover(true);
143
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, Lingua.getMensagem("receitas")+" > "+Lingua.getMensagem("item"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, FonteFinancas, new java.awt.Color(0, 102, 204)));
144
jPanel1.setForeground(new java.awt.Color(51, 94, 168));
146
resultado_pesquisa.setModel(new javax.swing.table.DefaultTableModel(
154
boolean[] canEdit = new boolean [] {
158
public boolean isCellEditable(int rowIndex, int columnIndex) {
159
return canEdit [columnIndex];
162
resultado_pesquisa.getTableHeader().setReorderingAllowed(false);
163
resultado_pesquisa.addMouseListener(new java.awt.event.MouseAdapter() {
164
public void mouseClicked(java.awt.event.MouseEvent evt) {
165
resultado_pesquisaMouseClicked(evt);
168
jScrollPane2.setViewportView(resultado_pesquisa);
169
if (resultado_pesquisa.getColumnModel().getColumnCount() > 0) {
170
resultado_pesquisa.getColumnModel().getColumn(0).setMaxWidth(75);
171
resultado_pesquisa.getColumnModel().getColumn(1).setResizable(false);
172
resultado_pesquisa.getColumnModel().getColumn(1).setHeaderValue(Lingua.getMensagem("nome"));
173
resultado_pesquisa.getColumnModel().getColumn(2).setResizable(false);
174
resultado_pesquisa.getColumnModel().getColumn(2).setHeaderValue(Lingua.getMensagem("categoria"));
177
NOME.setFont(FonteFinancas);
178
NOME.setText(Lingua.getMensagem("nome")+":");
180
nome.setFont(FonteFinancas);
181
nome.addActionListener(new java.awt.event.ActionListener() {
182
public void actionPerformed(java.awt.event.ActionEvent evt) {
183
nomeActionPerformed(evt);
187
ESTADO.setFont(FonteFinancas);
188
ESTADO.setText(Lingua.getMensagem("categoria")+":");
190
categoria.setFont(FonteFinancas);
191
categoria.addActionListener(new java.awt.event.ActionListener() {
192
public void actionPerformed(java.awt.event.ActionEvent evt) {
193
categoriaActionPerformed(evt);
197
BFiltrar.setFont(FonteFinancas);
198
BFiltrar.setText(Lingua.getMensagem("pesquisar"));
199
BFiltrar.addActionListener(new java.awt.event.ActionListener() {
200
public void actionPerformed(java.awt.event.ActionEvent evt) {
201
BFiltrarActionPerformed(evt);
205
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
206
jPanel1.setLayout(jPanel1Layout);
207
jPanel1Layout.setHorizontalGroup(
208
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
209
.addGroup(jPanel1Layout.createSequentialGroup()
211
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
212
.addComponent(jScrollPane2)
213
.addGroup(jPanel1Layout.createSequentialGroup()
215
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
216
.addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE)
217
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
218
.addComponent(ESTADO)
219
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
220
.addComponent(categoria, 0, 1, Short.MAX_VALUE)
221
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
222
.addComponent(BFiltrar)))
225
jPanel1Layout.setVerticalGroup(
226
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
227
.addGroup(jPanel1Layout.createSequentialGroup()
229
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
231
.addComponent(BFiltrar)
232
.addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
233
.addComponent(categoria, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
234
.addComponent(ESTADO))
236
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 295, Short.MAX_VALUE)
240
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
241
getContentPane().setLayout(layout);
242
layout.setHorizontalGroup(
243
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
244
.addComponent(BarraDeFerramentas, javax.swing.GroupLayout.DEFAULT_SIZE, 752, Short.MAX_VALUE)
245
.addGroup(layout.createSequentialGroup()
247
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
250
layout.setVerticalGroup(
251
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
252
.addGroup(layout.createSequentialGroup()
253
.addComponent(BarraDeFerramentas, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
254
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
255
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
259
setSize(new java.awt.Dimension(688, 480));
260
setLocationRelativeTo(null);
261
}// </editor-fold>//GEN-END:initComponents
263
private void nomeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nomeActionPerformed
265
}//GEN-LAST:event_nomeActionPerformed
267
private void categoriaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_categoriaActionPerformed
269
}//GEN-LAST:event_categoriaActionPerformed
271
private void BFiltrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BFiltrarActionPerformed
273
}//GEN-LAST:event_BFiltrarActionPerformed
275
private void resultado_pesquisaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_resultado_pesquisaMouseClicked
276
String codSelecionado0;
277
String codSelecionado1;
278
String codSelecionado2;
279
codSelecionado0 = (String)resultado_pesquisa.getValueAt(resultado_pesquisa.getSelectedRow(), 0);
280
codSelecionado1 = (String)resultado_pesquisa.getValueAt(resultado_pesquisa.getSelectedRow(), 1);
281
codSelecionado2 = (String)resultado_pesquisa.getValueAt(resultado_pesquisa.getSelectedRow(), 2);
282
if(Janelinha.Pergunta(codSelecionado1, Lingua.getMensagem("tem_certeza"))){
283
receitas_item.PreencherFormulario(Acao,codSelecionado0,codSelecionado1,codSelecionado2);
284
ReceitasItemPesquisar.this.dispose();
286
}//GEN-LAST:event_resultado_pesquisaMouseClicked
288
// Variables declaration - do not modify//GEN-BEGIN:variables
289
private javax.swing.JButton BFiltrar;
290
private javax.swing.JToolBar BarraDeFerramentas;
291
private javax.swing.JLabel ESTADO;
292
private javax.swing.JLabel NOME;
293
private javax.swing.JComboBox categoria;
294
private javax.swing.JPanel jPanel1;
295
private javax.swing.JScrollPane jScrollPane1;
296
private javax.swing.JScrollPane jScrollPane2;
297
private javax.swing.JTable jTable1;
298
private javax.swing.JTextField nome;
299
private javax.swing.JTable resultado_pesquisa;
300
// End of variables declaration//GEN-END:variables