Problemas com getText e setText

4 respostas
Rudy

Aloha pessoa!!!

Estou ajudando uma amiga com um projeto da facu, corrigi varios erros, mas tem 2 erros que não to conseguindo resolver

import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.SQLException;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import javax.swing.Box;

public class Relatorios extends JFrame 
{
   // driver JDBC e URL de banco de dados
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
   static final String DATABASE_URL = "jdbc:mysql://localhost:3306/aesistemas";
   static final String USERNAME= "root";
   static final String PASSWORD= "";
   
   //indice da sentença a SQL a ser utilizada;
   private int x = 0; // 
   
   // consulta padrao seleciona todas as linhas de tabela authors
   //static final String DEFAULT_QUERY = "SELECT * FROM marca";
   private String[] sentencas = new String[10];
   private ResultadoMOdeloTabela tableModel;
   private javax.swing.JComboBox relatorios;
   
   // cria o ResultadoMOdeloTabela e GUI
   public Relatorios() 
   {   
      super( "Deductio Gerador de Relatórios" );
         sentencas[0] = "SELECT * FROM motorista";
         sentencas[1] = "SELECT * FROM marca";
         sentencas[2] = "SELECT * FROM modelo";
         sentencas[3] = "SELECT * FROM escala";
         sentencas[4] = "SELECT * FROM notificacao";
         sentencas[5] = "SELECT * FROM veiculo";
         sentencas[6] = "SELECT * FROM motorista";
      // cria o ResultadoMOdeloTabela e exibe tabela de banco de dados
      try 
      {
         // cria o TableModel para resultados da consulta SELECT * FROM marca
         tableModel = new ResultadoMOdeloTabela( JDBC_DRIVER, DATABASE_URL,
            USERNAME, PASSWORD, sentencas[0] );                         

         // configura JTextArea em que o usuario digita consultas         
         //JScrollPane scrollPane = new JScrollPane( queryArea,
           // ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, 
            //ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER );
         relatorios.addItem("Motorista");
         relatorios.addItem("Marca");
         relatorios.addItem("Modelo");
         relatorios.addItem("Escala");
         relatorios.addItem("Notificação");
         relatorios.addItem("Veiculo");
         
         
         // configura o JButton para enviar consulta
         JButton submitButton = new JButton( "Gerar" );

         // cria o Box para gerenciar o posicionamento da queryArea e do
         // submitButton na GUI
         Box box = Box.createHorizontalBox();
         box.add( scrollPane );
         box.add( submitButton );

         // cria o delegado JTable para tableModel
         JTable resultTable = new JTable( tableModel );
         
         // posiciona os componentes GUI no painel de conte�do
         add( box, BorderLayout.NORTH );
         add( new JScrollPane( resultTable ), BorderLayout.CENTER );

         // cria evento ouvinte para submitButton
         submitButton.addActionListener( 
         
            new ActionListener() 
            {
               // passa consulta para modelo de tabela
               public void actionPerformed( ActionEvent event )
               {
                  // realiza uma nova consulta
                  try 
                  {
                     tableModel.setQuery( sentencas[x].getText() );
                  } // fim do try
                  catch ( SQLException sqlException ) 
                  {
                     JOptionPane.showMessageDialog( null, 
                        sqlException.getMessage(), "Database error", 
                        JOptionPane.ERROR_MESSAGE );
                     
                     // tenta recuperar a partir da consulta de usuario invalida
                     // executando consulta padrao
                     try 
                     {
                        tableModel.setQuery( sentencas[0] );
                        relatorios.setText( sentencas[0] );
                     } // fim do try
                     catch ( SQLException sqlException2 ) 
                     {
                        JOptionPane.showMessageDialog( null, 
                           sqlException2.getMessage(), "Database error", 
                           JOptionPane.ERROR_MESSAGE );
         
                        // assegura que a conexao de banco de dados esta fechada
                        tableModel.disconnectFromDatabase();   
         
                        System.exit( 0 ); // termina o aplicativo
                     } // fim do catch interno
                  } // fim do catch externo
               } // fim do metodo actionPerformed
            } // fim da classe ActionListener interna 
         ); // fim da chamada para addActionListener

         setSize( 700, 500 ); // configura o tamanho da janela
         setVisible( true ); // exibe a janela 
      } // fim do try
      catch ( ClassNotFoundException classNotFound ) 
      {
         JOptionPane.showMessageDialog( null, 
            "MySQL driver not found", "Driver not found",
            JOptionPane.ERROR_MESSAGE );
         
         System.exit( 1 ); // termina o aplicativo
      } // fim do catch
      catch ( SQLException sqlException ) 
      {
         JOptionPane.showMessageDialog( null, sqlException.getMessage(), 
            "Database error", JOptionPane.ERROR_MESSAGE );
         
         // assegura que a conex�o de banco de dados esta fechada
         tableModel.disconnectFromDatabase();   
         
         System.exit( 1 );   // termina o aplicativo
      } // fim do catch
      
      // dispoe da janela quando o usuario fecha o aplicativo (isso sobrescreve
      // o padrao de HIDE_ON_CLOSE)
      //setDefaultCloseOperation( DISPOSE_ON_CLOSE );
      
      // assegura que a conexao de banco de dados eh fechada quando usu�rio fecha o aplicativo
      addWindowListener(
      
         new WindowAdapter() 
         {
            // desconecta-se do banco de dados e sai quando a janela for fechada
            @Override
            public void windowClosed ( WindowEvent event )              
            {                                                          
               tableModel.disconnectFromDatabase();                    
               System.exit( 0 );                                       
            } // fim do metodo windowClosed 
         } // fim da classe WindowAdapter interna 
      ); // fim da chamada a addWindowListener
   } // fim do construtor ConsultaSQL

Na linha 86 da o seguinte erro
cannot find symbol
symbol: method getTest()
location: class java.lang.String

setQuery(java.lang.Stirng) in ResultadoMOdeloTabela cannot be applied to (java.lang.String.getText)

e na linha 99 aparece outro erro

cannot find symbol
symbol: method setTest()
location: class javax.swing.JComboBox

O metodo setQuery() to usando para receber uma String dentro do construtor da classe ResultadoMOdeloTabela

4 Respostas

S

Na linha 86 você não está acessando um vetor de objetos String? Acho que não existe função getText() na classe String.

Tente…

tableModel.setQuery( sentencas[x].toString() );

No objeto JComboBox também não tem a função setText().

Bukira_Boy

:shock:

relatorios.setText( sentencas[0] );

realtórios é um JComboBox e como todo JComboBox não existe um método chamado setText(); os objetos que são inseridos no combos são objetos, sejam eles do tipo String que é um objeto seja do próprio java ou um objeto que você mesmo definiu, de uma classe qualquer que você tenha feito.

resumindo, para inserir objetos no JComboBox usa-se o próprio método que ja vem no objeto:

jComboBox1.addItem(Objeto);

mais se você quer pegar o valor selecionado num jComboBox deve usar getSelectItem();
:roll:

jComboBox1.getSelectedItem();

esse método retorna um objeto… e aí irmão é so fazer o cast dependendo do seu caso é claro…

qualquer coisa posta aí meu brother…

SDS

:arrow: sugestão.: por quê nao separar essas sql’s aí meu brother… colocar numa classe não ficaria melhor não? :lol: :lol:

:lol:

Rudy

Valeu pessoal ajudou bastante, vou continuar a procurar os erros…

Rudy

Opa olha eu de novo :smiley:

Pessoa tow achando um pequeno erro agora nessa mesma classe na linha 65 box.add( scrollPane ); que diz:

cannot find symbol
symbol: variable scrollPane
location: class Relatorios

Pelo que eu entendi é que a variavel não foi declarada na classe, eu entendi isso e procurei por ela dentro da classe e não achei. Se esse erro não quer dizer isso alguem pode me ajudar.

Criado 4 de novembro de 2008
Ultima resposta 5 de nov. de 2008
Respostas 4
Participantes 3