Bom Dia Galera, Blz?
Seguinte, nao aparece nenhum erro de compilação, ele simplesmente depois de fazer as operaçoes de determinado CASE (case 2, por exemplo) ele mostra um JTextArea em branco e sai do while, fechando o programa... alguem sabe o que pode ser?
segue o codigo:
package lavanderiag2;
//@author Artur Martini
import com.sun.org.apache.bcel.internal.generic.GOTO;
import java.awt.TextArea;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.LinkedList;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
public class Main {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
MySQL banco = new MySQL();
String menu[] = {"Novo Cliente", "Adicionar peça", "Alterar Processo", "Alterar Preço", "Visualiza Dados", "Sair do Programa"};
int comando = 0;
int codRoupa = 0;
int codProcesso = 0;
int codCliente = 0;
String nome = "";
String fone = "";
String endereco = "";
String email = "";
Clientes c = null;
Roupas r = new Roupas();
LinkedList<Clientes> ListaClientes = new LinkedList<Clientes>();
LinkedList<Roupas> ListaRoupas = new LinkedList<Roupas>();
ArrayList<Roupas> ArrayRoupas;
ArrayList<Clientes> ArrayClientes;
JTextArea saidaTela = new JTextArea(25, 25);
JTextArea saidaTela2 = new JTextArea(25, 25);
while ((comando = JOptionPane.showOptionDialog(null, "Escolha uma opção", "Programa Lavanderia", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, menu, null)) != 5) {
switch (comando) {
case 0:
Clientes cliente = new Clientes();
cliente.nome = JOptionPane.showInputDialog("Nome do Cliente");
cliente.fone = JOptionPane.showInputDialog("Telefone do Cliente");
cliente.endereco = JOptionPane.showInputDialog("Endereco do Cliente");
cliente.email = JOptionPane.showInputDialog("e-mail do Cliente");
banco.conecta();
if (banco.addCliente(cliente)) {
System.out.println("Novo cliente cadastrado com sucesso.");
} else {
System.out.println("Erro ao cadastrar novo cliente.");
}
banco.desconecta();
break;
case 1:
banco.conecta();
ListaClientes = banco.getClientes();
saidaTela.setText("");
for (int i = 0; i < ListaClientes.size(); i++) {
c = (Clientes) ListaClientes.get(i);
saidaTela.append(
"#" + c.codigo + " " + c.nome + "\n");
}
c.codigo = Integer.parseInt(JOptionPane.showInputDialog(null, saidaTela, "Codigo do cliente"));
Roupas roupa = new Roupas();
roupa.codCliente = c.codigo;
roupa.tipo = JOptionPane.showInputDialog("Tipo de roupa");
roupa.marca = JOptionPane.showInputDialog("Marca da roupa");
roupa.cor = JOptionPane.showInputDialog("Cor predominante da roupa");
roupa.codProcesso = banco.escolheProcesso(roupa.codProcesso, roupa.tipo);
if (banco.addRoupa(roupa)) {
JOptionPane.showMessageDialog(null, "Novo cliente cadastrado com sucesso.");
} else {
JOptionPane.showMessageDialog(null, "Erro ao cadastrar novo cliente.");
}
banco.desconecta();
break;
case 2:
banco.conecta();
ListaClientes = banco.getClientes();
codCliente = banco.showClientes(ListaClientes);
ListaRoupas = banco.getRoupas(codCliente);
codRoupa = banco.showRoupas(ListaRoupas);
codProcesso = banco.escolheProcesso(codProcesso, r.tipo);
if (banco.mudaProcesso(codRoupa, codProcesso)) {
JOptionPane.showMessageDialog(null, "Processo Modificado com sucesso");
} else {
JOptionPane.showMessageDialog(null, "Processo não Alterado");
}
banco.desconecta();
break;
case 3:
banco.conecta();
codProcesso = banco.defineProcesso();
double valor = Double.parseDouble(JOptionPane.showInputDialog("Digite o novo valor"));
if (banco.mudaValor(codProcesso, valor)) {
JOptionPane.showMessageDialog(null, "Valor alterado com Sucesso");
}
;
break;
case 4:
banco.conecta();
ListaClientes = banco.getClientes();
saidaTela.setText("");
for (int i = 0; i < ListaClientes.size(); i++) {
c = (Clientes) ListaClientes.get(i);
saidaTela.append(
"#" + c.codigo + " " + c.nome + "\n");
}
c.codigo = Integer.parseInt(JOptionPane.showInputDialog(null, saidaTela, "Codigo do cliente"));
saidaTela.setText("");
ListaRoupas = banco.getRoupas(c.codigo);
for (int i = 0; i < ListaRoupas.size(); i++) {
r = ListaRoupas.get(i);
r.processo = banco.getProcessos(r.processo, r.codProcesso);
r.valor = banco.getValor(r.codProcesso, r.valor);
saidaTela.append(
"#" + r.codRoupa + " " + r.tipo + " " + r.marca + " " + r.cor + " " + r.processo + " " + r.valor + "\n");
}
}
JOptionPane.showMessageDialog(null, saidaTela);
break;
}
}
}
package lavanderiag2;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class MySQL {
private String usuario;
private String senha;
private String url;
private Connection conexao;
LinkedList<Roupas> ListaRoupas = new LinkedList<Roupas>();
ArrayList<Roupas> ArrayRoupas;
LinkedList<Clientes> ListaClientes;
JTextArea saidaTela = new JTextArea(25, 25);
JTextArea saidaTela2 = new JTextArea(25, 25);
Clientes c;
Roupas r;
////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////METODOS EM FUNCIONAMENTO//////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
public MySQL() {
usuario = "root";
senha = "root";
url = "jdbc:mysql://localhost/lavanderia";
}
public void conecta() throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
conexao = (Connection) DriverManager.getConnection(url, usuario, senha);
}
public void desconecta() throws SQLException {
conexao.close();
}
public boolean addCliente(Clientes c) throws SQLException {
String sql = "INSERT INTO TBCLIENTES (NOME, FONE, ENDERECO, EMAIL) "
+ "VALUES ('" + c.nome + "', '" + c.fone + "', '" + c.endereco + "','" + c.email + "')";
System.out.println(sql);
Statement declaracao = (Statement) conexao.createStatement();
declaracao.executeUpdate(sql);
return true;
}
public LinkedList<Clientes> getCliente(String nome) throws SQLException {
LinkedList<Clientes> ListaClientes = new LinkedList<Clientes>();
String query = "select * from TBCLIENTES WHERE NOME = '" + nome + "'";
Statement declaracao = (Statement) conexao.createStatement();
ResultSet registros = declaracao.executeQuery(query);
while (registros.next()) {
Clientes c = new Clientes();
c.codigo = registros.getInt("PKCODCLIENTE");
c.nome = registros.getString("NOME");
c.fone = registros.getString("FONE");
c.endereco = registros.getString("ENDERECO");
c.email = registros.getString("EMAIL");
ListaClientes.add(c);
}
return ListaClientes;
}
public LinkedList<Clientes> getClientes() throws SQLException {
LinkedList<Clientes> ListaClientes = new LinkedList<Clientes>();
String query = "select * from TBCLIENTES";
Statement declaracao = (Statement) conexao.createStatement();
ResultSet registros = declaracao.executeQuery(query);
while (registros.next()) {
Clientes c = new Clientes();
c.codigo = registros.getInt("PKCODCLIENTE");
c.nome = registros.getString("NOME");
c.fone = registros.getString("FONE");
c.endereco = registros.getString("ENDERECO");
c.email = registros.getString("EMAIL");
ListaClientes.add(c);
}
return ListaClientes;
}
public boolean addRoupa(Roupas r) throws SQLException {
String sql = "INSERT INTO TBROUPAS (FKCODCLIENTE, FKCODPROCESSO, TIPO, MARCA, COR) "
+ "VALUES ('" + r.codCliente + "','" + r.codProcesso + "','" + r.tipo + "', '" + r.marca + "', '" + r.cor + "')";
System.out.println(sql);
Statement declaracao = (Statement) conexao.createStatement();
declaracao.executeUpdate(sql);
return true;
}
public int defineProcesso() throws SQLException {
int processo = Integer.parseInt(JOptionPane.showInputDialog("Escolha o processo para Alterar o seu valor \n\n"
+ "1 - lavar\n"
+ "2 - Passar\n"
+ "3 - Secar\n\n"));
return processo;
}
public boolean mudaValor(int codProcesso, double valor) throws SQLException {
String sql = "UPDATE TBPROCESSOS SET VALORPROCESSO = '" + valor + "'"
+ " WHERE PKCODPROCESSO = '" + codProcesso + "'";
System.out.println(sql);
Statement declaracao = (Statement) conexao.createStatement();
declaracao.executeUpdate(sql);
return true;
}
public LinkedList<Roupas> getRoupas(int codCliente) throws SQLException {
String query = "select * from TBROUPAS WHERE FKCODCLIENTE = '" + codCliente + "'";
Statement declaracao = (Statement) conexao.createStatement();
ResultSet registros = declaracao.executeQuery(query);
while (registros.next()) {
Roupas r = new Roupas();
r.codCliente = registros.getInt("FKCODCLIENTE");
r.codProcesso = registros.getInt("FKCODPROCESSO");
r.codRoupa = registros.getInt("PKCODROUPAS");
r.tipo = registros.getString("TIPO");
r.marca = registros.getString("MARCA");
r.cor = registros.getString("COR");
ListaRoupas.addLast(r);
}
return ListaRoupas;
}
public int escolheProcesso(int processo, String tipo) {
processo = Integer.parseInt(JOptionPane.showInputDialog("Por qual processo a "
+ tipo + " deverá passar\n\n"
+ "1 - lavar\n"
+ "2 - Passar\n"
+ "3 - Secar\n\n"));
return processo;
}
public String getProcessos(String processo, int codProcesso) throws SQLException {
String query = "select * from TBPROCESSOS WHERE PKCODPROCESSO = '" + codProcesso + "'";
Statement declaracao = (Statement) conexao.createStatement();
ResultSet registros = declaracao.executeQuery(query);
while (registros.next()) {
processo = registros.getString("PROCESSO");
}
return processo;
}
public boolean mudaProcesso(int codRoupa, int codProcesso) throws SQLException {
String sql = "UPDATE TBROUPAS SET FKCODPROCESSO = '" + codProcesso + "'"
+ " WHERE PKCODROUPAS = '" + codRoupa + "'";
System.out.println(sql);
Statement declaracao = (Statement) conexao.createStatement();
declaracao.executeUpdate(sql);
return true;
}
public double getValor(int codProcesso, double valor) throws SQLException {
String query = "select * from TBPROCESSOS WHERE PKCODPROCESSO = '" + codProcesso + "'";
Statement declaracao = (Statement) conexao.createStatement();
ResultSet registros = declaracao.executeQuery(query);
while (registros.next()) {
valor = registros.getDouble("VALORPROCESSO");
}
return valor;
}
public int showClientes (LinkedList ListaClientes)throws SQLException{
saidaTela.setText("");
for (int i = 0; i < ListaClientes.size(); i++) {
c = (Clientes) ListaClientes.get(i);
saidaTela.append(
"#" + c.codigo + " " + c.nome + "\n");
}
int codigo = Integer.parseInt(JOptionPane.showInputDialog(null, saidaTela, "Codigo do cliente"));
return codigo;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
public int showRoupas (LinkedList ListaRoupas)throws SQLException{
saidaTela2.setText("");
for (int i = 0; i < ListaRoupas.size(); i++) {
r = (Roupas) ListaRoupas.get(i);
r.processo = this.getProcessos(r.processo, r.codProcesso);
saidaTela2.append(
"#" + r.codRoupa + " " + r.tipo + " " + r.marca + " " + r.cor + " " + r.processo + "\n");
}
int codigo = Integer.parseInt(JOptionPane.showInputDialog(null, saidaTela2, "Codigo da roupa"));
return codigo;
}
}
package lavanderiag2;
//@author Artur Martini
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.ListIterator;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class Roupas {
int codCliente = 0;
int codProcesso = 0;
int codRoupa = 0;
double valor = 0.0;
double total = 0.0;
String processo = "";
String tipo = "";
String marca = "";
String cor = "";
MySQL banco = new MySQL();
Roupas r;
LinkedList<Roupas> ListaRoupas = new LinkedList<Roupas>();
public String defineTipo(LinkedList ListaRoupas, int codRoupa) {
Roupas r;
for (int i = 0; i < ListaRoupas.size(); i++) {
r = (Roupas) ListaRoupas.get(i);
if (r.codRoupa == codRoupa) {
return r.tipo;
}
}
return "roupa";
}
}
package lavanderiag2;
//@author Artur Martini
public class Processos {
String nomeProcesso = "";
int codProcesso = 0;
double valorProcesso = 0.0;
}
package lavanderiag2;
//@author Artur Martini
import java.util.ArrayList;
import java.util.LinkedList;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
public class Clientes {
int codigo;
String nome = "";
String fone = "";
String endereco = "";
String email = "";
JTextArea saidaTela = new JTextArea(25, 25);
}