Onde errei? Como consertar?

0 respostas
R

Pô galera, vamos dar uma força ai, to com estrema necessidade disto, se ninguém quizer mexer no meu código pq toma tempo, me manda um com as especificações q citei OO abaixo. Não consigo entender o que fazer para mudar. Por Favor.

Tenho um trabalho para aula com conexão jbdc access e interface swing, fiz desse modo descrito abaixo, porém, meu professor disse estar errado pq parece estar em modo estruturado e não OO e ainda mais ele que usando técnica 3 camadas.
Só que não consigo entender como manipular em 3 camadas, talvez por causa do uso da interface, já q todos exemplos que li não utilizão interface, então tenho dificuldades de relacionar. Se alguém tiver paciencencia de transformar esse meu metodo abaixo em OO 3 camadas, eu agradeço muito. Se quizerem colem o código alterado aqui ou me enviem MP ou pro meu email [email removido]

:sad: // BotoesPainel.java

// Definição da classe BotoesPainel

import java.awt.<em>;

import java.awt.event.</em>;

import java.sql.<em>;

import javax.swing.</em>;

import javax.swing.ScrollPaneLayout;
public class BotoesPainel extends JPanel

{

private JButton  addName;
public BotoesPainel( Connection c, InterfacePedidos s,

JTextArea t )

{

setLayout( new GridLayout( 2, 1 ) );
Icon salvar = new ImageIcon( "Imagens/Gravar.gif" );
  addName = new JButton( salvar );
  addName.addActionListener( new SalvarPedido ( c, s, t ) );
  add( addName );

}
}

// InterfacePedidos.java

// Definição da classe InterfacePedidos

import java.awt.<em>;

import java.awt.event.</em>;

import javax.swing.*;

import javax.swing.ScrollPaneLayout;

public class InterfacePedidos extends JPanel
{

private JPanel labelPanel, fieldsPanel;

private String labels[] =

{ "Numero Do Pedido: ", "Código Do Cliente: "

};

// accesso de pacote
JTextField NúmeroDoPedido, CódigoDoCliente;

public InterfacePedidos()

{

// Painel de Interface

labelPanel = new JPanel();

labelPanel.setLayout(new GridLayout( labels.length, 1 ) );
for ( int i = 0; i &lt; labels.length; i++ )
     labelPanel.add( new JLabel( labels[ i ], 4) );

  // Painel de Campos 
  fieldsPanel = new JPanel();
  fieldsPanel.setLayout(new GridLayout( labels.length, 1 ) );
  NúmeroDoPedido = new JTextField( 20 );
  NúmeroDoPedido.setEditable( false );
  fieldsPanel.add( NúmeroDoPedido );      
  CódigoDoCliente = new JTextField( 20 );
  fieldsPanel.add( CódigoDoCliente );


  setLayout( new GridLayout( 1, 2 ) );
  add( labelPanel );
  add( fieldsPanel );

}

}

// SalvarPedidos.java

// Definição de classe SalvarPedidos

import java.awt.<em>;

import java.awt.event.</em>;

import java.sql.<em>;

import javax.swing.</em>;

import javax.swing.ScrollPaneLayout;
public class SalvarPedido implements ActionListener

{

private InterfacePedidos fields;

private JTextArea output;

private Connection connection;
public SalvarPedido( Connection c, InterfacePedidos f, JTextArea o )

{

connection = c;

fields     = f;

output     = o;

}
public void actionPerformed( ActionEvent e )

{

try

{

Statement statement = connection.createStatement();
if ( !fields.CódigoDoCliente.getText().equals( "" ) )
     {
        String query = "INSERT INTO Pedidos (" +
           "CódigoDoCliente" +
           ") VALUES ('" +
           fields.CódigoDoCliente.getText() + "', '" + "')";

        int result = statement.executeUpdate( query );
           
        if ( result == 1 )
          JOptionPane.showMessageDialog(
          null, "Operação.... Ok!!!", "Aviso",
          JOptionPane.PLAIN_MESSAGE );
        else 
        {
          JOptionPane.showMessageDialog(
          null, "A gravação falhou!.", "Aviso",
          JOptionPane.WARNING_MESSAGE );

           fields.CódigoDoCliente.setText( "" );
           fields.CódigoDoFuncionário.setText( "" );

        }
     }
     else
     {
          JOptionPane.showMessageDialog(
          null, "\nPreencha os campos obrigatórios para Salvar:\n" + 
                 "\nEntão Click Salvar!!!\n" , "Aviso",
          JOptionPane.WARNING_MESSAGE );

     statement.close();
     }
  }
  catch ( SQLException sqlex )
  {
     JOptionPane.showMessageDialog(
     null, sqlex.toString(), "Aviso",
     JOptionPane.WARNING_MESSAGE );    

  }

}
}

// Pgprincipal.java

// Inserindo, atualizando e pesquisando dados em um banco de dados

import java.sql.<em>;

import java.awt.</em>;

import java.awt.event.<em>;

import javax.swing.</em>;

import javax.swing.ScrollPaneLayout;
public class Pgprincipal extends JFrame

{

private BotoesPainel controls;

private InterfacePedidos scrollArea;

private JTextArea output;

private String url;

private Connection connect;

private JScrollPane textpane;
public Pgprincipal()

{

super( Cadastro de Pedidos );
Container c = getContentPane();

  // Inicia o layout da tela
  scrollArea = new InterfacePedidos();
  c.setLayout( new BorderLayout() );
  c.add( new JScrollPane( scrollArea ),
         BorderLayout.CENTER );

  // Configura a conexão de banco de dados
  try 
  {
     url = "jdbc:odbc:trab";
     Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
     connect = DriverManager.getConnection( url );
  }
  catch ( ClassNotFoundException cnfex )
  {
     // processa ClassNotFoundExceptions aqui
     JOptionPane.showMessageDialog(
     null, "A conexão falhou!\n" + cnfex.toString(), "Aviso",
     JOptionPane.WARNING_MESSAGE );
  }
  catch ( SQLException sqlex )
  {
     // processa SQLExceptions aqui
      JOptionPane.showMessageDialog(
     null, "A conexão falhou!\n", "Aviso",
     JOptionPane.WARNING_MESSAGE );
  }
  catch ( Exception ex )
  {
     // processa Exceptions remanescentes aqui
     JOptionPane.showMessageDialog(
     null, ex.toString(), "Aviso",
     JOptionPane.WARNING_MESSAGE );
  }

  // Completa layout de tela
  controls = new BotoesPainel( connect, scrollArea, output);
  c.add( controls, BorderLayout.NORTH );

  setSize( 480, 400 );
  move(20, 250);
  show();

}

public static void main( String args[] )

{

Pgprincipal ObjPgprincipal = new Pgprincipal();
ObjPgprincipal.addWindowListener(new WindowAdapter() 
     {
        public void windowClosing( WindowEvent e )
        {
           System.exit( 0 );
        }
     }
                                   );

}
}

Criado 25 de novembro de 2006
Respostas 0
Participantes 1