Pessoal, vou postar o código que eu fiz aqui. Espero que possam me ajudar. Eu realmente não sei mais o que fazer. Já tentei tudo o que eu pensei estar errado.
CLASSE JANELA PRINCIPAL:import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.MenuItem;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.JTabbedPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.JInternalFrame;
import javax.swing.JDesktopPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import net.miginfocom.layout.ComponentWrapper;
import net.miginfocom.swing.MigLayout;
public class JanelaPrincipal extends JFrame{
private JMenu menuArquivo, menuOpcoes, menuCadastro, menuConsulta;
private JMenuItem menuItemSair, menuItemCadProd, menuItemConPreco;
List<Produtos> list = new ArrayList<Produtos>();
final JDesktopPane dPane = new JDesktopPane();
JInternalFrame frame = new JInternalFrame("Papelaria", true, true, false, false);
final JTabbedPane jTabbed = new JTabbedPane();
CadastroProdutos cadastro = new CadastroProdutos();
Produtos produ = new Produtos();
private int cod;
private String desc;
private float vl;
private String forn;
private int qtde;
public JanelaPrincipal()
{
super ("Papelaria");
setLayout(new FlowLayout());
JMenuBar menuBar = new JMenuBar(); //cria Uma barra para o menu
menuArquivo = new JMenu("Arquivo");
menuBar.add(menuArquivo);
menuOpcoes = new JMenu("Opcoes");
menuBar.add(menuOpcoes);
JMenuItem menuItemVenda = new JMenuItem("Efetuar Venda");
menuOpcoes.add(menuItemVenda);
menuItemVenda.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
frame.setVisible(true);
jTabbed.setSelectedIndex(1);
}
});
menuOpcoes.addSeparator();
menuCadastro = new JMenu("Cadastro");
menuOpcoes.add(menuCadastro);
this.add(dPane);
dPane.add(frame);
setContentPane(frame);
frame.setVisible(false);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
//aba da opcao de cadastro
jTabbed.addTab("Cadastro Produtos", panel1);
final JTextField textCodProduto = new JTextField(20);
final JTextField textDescProduto = new JTextField(20);
final JTextField textPrecoProduto = new JTextField(20);
final JTextField textFornProduto = new JTextField(20);
final JTextField textQtdeProdutoEstoque = new JTextField(20);
JLabel labelCodProduto = new JLabel("Código do Produto");
labelCodProduto.setLabelFor(textCodProduto);
JLabel labelDescProduto = new JLabel("Descrição do Produto");
labelDescProduto.setLabelFor(textDescProduto);
JLabel labelPrecoProduto = new JLabel("Preço Unitário");
labelPrecoProduto.setLabelFor(textPrecoProduto);
JLabel labelFornProduto = new JLabel("Fornecedor do Produto");
labelFornProduto.setLabelFor(textFornProduto);
JLabel labelQtdeProdutoEstoque = new JLabel("Quantidade em estoque");
labelQtdeProdutoEstoque.setLabelFor(textQtdeProdutoEstoque);
JPanel textPane = new JPanel(new MigLayout());
textPane.add(labelCodProduto);
textPane.add(textCodProduto, "wrap");
textPane.add(labelDescProduto);
textPane.add(textDescProduto, "wrap");
textPane.add(labelPrecoProduto);
textPane.add(textPrecoProduto, "wrap");
textPane.add(labelFornProduto);
textPane.add(textFornProduto, "wrap");
textPane.add(labelQtdeProdutoEstoque);
textPane.add(textQtdeProdutoEstoque, "wrap");
JButton botaoOK = new JButton("OK");
botaoOK.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
cod = Integer.parseInt(textCodProduto.getText());
desc = textDescProduto.getText();
vl = Float.parseFloat(textPrecoProduto.getText());
forn = textFornProduto.getText();
qtde = Integer.parseInt(textQtdeProdutoEstoque.getText());
cadastro.efetuaCadastro(list, cod, desc, vl, forn, qtde);
}
});
textPane.add(botaoOK);
JButton botaoCancel = new JButton("Cancelar");
textPane.add(botaoCancel);
botaoCancel.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
frame.setVisible(false);
}
});
panel1.setLayout(new BorderLayout());
panel1.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
panel1.add(textPane, BorderLayout.WEST);
jTabbed.addTab("Venda", panel2);
//Aba da opcao de consultas
jTabbed.addTab("Consulta", panel3);
panel3.setLayout(new MigLayout());
panel3.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
JLabel labelConsultaCodPro = new JLabel("Digite o código do produto: ");
final JTextField textConsultaCodPro = new JTextField(20);
panel3.add(labelConsultaCodPro);
panel3.add(textConsultaCodPro, "wrap");
JButton botaoConPre = new JButton("Preço");
botaoConPre.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
cod = Integer.parseInt(textConsultaCodPro.getText());
produ = null;
produ = cadastro.consultaPreco(list, cod);
if(produ == null)
JOptionPane.showMessageDialog(null, "Nenhum produto encontrado");
else
JOptionPane.showMessageDialog(null, produ.getVl_unit());
}
});
JButton botaoConFor = new JButton("Fornecedor");
botaoConFor.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
cod = Integer.parseInt(textConsultaCodPro.getText());
produ = cadastro.consultaPreco(list, cod);
if(produ == null)
JOptionPane.showMessageDialog(null, "Nenhum produto encontrado");
else
JOptionPane.showMessageDialog(null, produ.getForn());
}
});
JButton botaoConQtde = new JButton("Quantidade");
JButton botaoConCancel = new JButton("Cancelar");
panel3.add(botaoConPre, "skip, newline");
panel3.add(botaoConFor, "skip, newline");
panel3.add(botaoConQtde, "skip, newline");
panel3.add(botaoConCancel, "skip, newline");
jTabbed.setVisible(true);
frame.setContentPane(jTabbed);
frame.pack();
menuItemCadProd = new JMenuItem("Cadastro de Produtos");
menuCadastro.add(menuItemCadProd);
menuItemCadProd.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
frame.setVisible(true);
jTabbed.setSelectedIndex(0);
}
});
menuItemSair = new JMenuItem("Sair");
menuArquivo.add(menuItemSair);
menuItemSair.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit( 0 );
}
});
menuConsulta = new JMenu("Consulta");
menuOpcoes.add(menuConsulta);
menuItemConPreco = new JMenuItem("Consulta de Preços");
menuConsulta.add(menuItemConPreco);
menuItemConPreco.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
frame.setVisible(true);
jTabbed.setSelectedIndex(2);
}
});
JMenuItem menuItemConFor = new JMenuItem("Consulta de fornecedor");
menuConsulta.add(menuItemConFor);
menuItemConFor.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
frame.setVisible(true);
jTabbed.setSelectedIndex(2);
}
});
JMenuItem menuItemConQtde = new JMenuItem("Consulta Quantidade Estoque");
menuConsulta.add(menuItemConQtde);
menuItemConQtde.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
frame.setVisible(true);
jTabbed.setSelectedIndex(2);
}
});
this.setJMenuBar(menuBar);
}
}
CLASSE PRODUTOS:
import java.util.LinkedList;
public class Produtos {
private int cod_prod;
private String desc_prod;
private float vl_unit;
private String forn;
private int qtde_estoque;
public Produtos()
{
setCod_prod(0);
setDesc_prod("");
setVl_unit(0);
setForn("");
setQtde_estoque(0);
}
public Produtos(int cod, String desc, float vl, String forn, int qtde)
{
setCod_prod(cod);
setDesc_prod(desc);
setVl_unit(vl);
setForn(forn);
setQtde_estoque(qtde);
}
public int getCod_prod() {
return cod_prod;
}
public void setCod_prod(int cod_prod) {
this.cod_prod = cod_prod;
}
public String getDesc_prod() {
return desc_prod;
}
public void setDesc_prod(String desc_prod) {
this.desc_prod = desc_prod;
}
public float getVl_unit() {
return vl_unit;
}
public void setVl_unit(float vl_unit) {
this.vl_unit = vl_unit;
}
public String getForn() {
return forn;
}
public void setForn(String forn) {
this.forn = forn;
}
public int getQtde_estoque() {
return qtde_estoque;
}
public void setQtde_estoque(int qtde_estoque) {
this.qtde_estoque = qtde_estoque;
}
}
import java.util.List;
import java.util.ListIterator;
import javax.swing.JOptionPane;
public class CadastroProdutos {
public void efetuaCadastro(List<Produtos> list, int cod, String desc, float vl, String forn, int qtde)
{
Produtos produto = new Produtos(cod, desc, vl, forn, qtde);
list.add(produto);
}
public Produtos consultaPreco(List<Produtos> list, int cod)
{
Produtos produ = new Produtos();
int i = 0;
produ = null;
if(list.isEmpty())
return produ = null;
for(i = 0; i <= list.size(); i++)
{
if(list.get(i).getCod_prod() == cod)
{
produ = list.get(i);
break;
}
}
return produ;
}
}
CLASSE TESTEGERAL
import javax.swing.JFrame;
public class testeGeral {
public static void main(String[] args) {
JanelaPrincipal janela = new JanelaPrincipal();
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
janela.setSize(800, 600);
janela.setVisible(true);
}
}
o que acontece é o seguinte: Quando eu executo a classe teste, abre uma jenela e beleza. Clico em opções, consulta e digito qualquer valor no campo codigo do produto. Ele da uma mensagem dizendo que não achou nada, pois nada foi cadastrado ainda... Mas quando eu cadastro alguma coisa, e depois coloco um codigo que ainda não foi cadastrado, ele deveria dar a mensagem dizendo que não encontrou nada também!! Mas pelo contrário! Ele dá erro!! Helpppppp