2010-06-29 8 views
0
package org.shop.ui; 

import demo.Customer; 
import java.util.List; 
import java.util.logging.Logger; 
import javax.persistence.EntityManager; 
import javax.persistence.Persistence; 
import javax.persistence.Query; 
import org.openide.util.NbBundle; 
import org.openide.windows.TopComponent; 
import org.openide.windows.WindowManager; 
import org.openide.util.ImageUtilities; 
import org.netbeans.api.settings.ConvertAsProperties; 

/** 
* Top component which displays something. 
*/ 
@ConvertAsProperties(dtd = "-//org.shop.ui//Customer//EN", 
autostore = false) 
public final class CustomerTopComponent extends TopComponent { 

    private static CustomerTopComponent instance; 
    /** path to the icon used by the component and its open action */ 
    static final String ICON_PATH = "org/shop/ui/einstein_clerk.gif"; 
    private static final String PREFERRED_ID = "CustomerTopComponent"; 

    EntityManager entityManager = Persistence.createEntityManagerFactory("CustomerLibraryPU").createEntityManager(); 
Query query = entityManager.createQuery("SELECT c FROM Customer c"); 
List<Customer> resultList = query.getResultList(); 
for (Customer c : resultList) { 
    jTextArea1.append(c.getName() + " (" + c.getCity() + ")" + "\n"); 
} 

    public CustomerTopComponent() { 
     initComponents(); 
     setName(NbBundle.getMessage(CustomerTopComponent.class, "CTL_CustomerTopComponent")); 
     setToolTipText(NbBundle.getMessage(CustomerTopComponent.class, "HINT_CustomerTopComponent")); 
     setIcon(ImageUtilities.loadImage(ICON_PATH, true)); 


    } 

    /** This method is called from within the constructor to 
    * initialize the form. 
    * WARNING: Do NOT modify this code. The content of this method is 
    * always regenerated by the Form Editor. 
    */ 
    // <editor-fold defaultstate="collapsed" desc="Generated Code">       
    private void initComponents() { 

     jScrollPane1 = new javax.swing.JScrollPane(); 
     jTextArea1 = new javax.swing.JTextArea(); 

     jTextArea1.setColumns(20); 
     jTextArea1.setRows(5); 
     jScrollPane1.setViewportView(jTextArea1); 

     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); 
     this.setLayout(layout); 
     layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(layout.createSequentialGroup() 
       .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 390, Short.MAX_VALUE) 
       .addContainerGap()) 
     ); 
     layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
       .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 289, Short.MAX_VALUE) 
       .addContainerGap()) 
     ); 
    }// </editor-fold>       

    // Variables declaration - do not modify      
    private javax.swing.JScrollPane jScrollPane1; 
    private javax.swing.JTextArea jTextArea1; 
    // End of variables declaration     
    /** 
    * Gets default instance. Do not use directly: reserved for *.settings files only, 
    * i.e. deserialization routines; otherwise you could get a non-deserialized instance. 
    * To obtain the singleton instance, use {@link #findInstance}. 
    */ 
    public static synchronized CustomerTopComponent getDefault() { 
     if (instance == null) { 
      instance = new CustomerTopComponent(); 
     } 
     return instance; 
    } 

    /** 
    * Obtain the CustomerTopComponent instance. Never call {@link #getDefault} directly! 
    */ 
    public static synchronized CustomerTopComponent findInstance() { 
     TopComponent win = WindowManager.getDefault().findTopComponent(PREFERRED_ID); 
     if (win == null) { 
      Logger.getLogger(CustomerTopComponent.class.getName()).warning(
        "Cannot find " + PREFERRED_ID + " component. It will not be located properly in the window system."); 
      return getDefault(); 
     } 
     if (win instanceof CustomerTopComponent) { 
      return (CustomerTopComponent) win; 
     } 
     Logger.getLogger(CustomerTopComponent.class.getName()).warning(
       "There seem to be multiple components with the '" + PREFERRED_ID 
       + "' ID. That is a potential source of errors and unexpected behavior."); 
     return getDefault(); 
    } 

    @Override 
    public int getPersistenceType() { 
     return TopComponent.PERSISTENCE_ALWAYS; 
    } 

    @Override 
    public void componentOpened() { 
     // TODO add custom code on component opening 
    } 

    @Override 
    public void componentClosed() { 
     // TODO add custom code on component closing 
    } 

    void writeProperties(java.util.Properties p) { 
     // better to version settings since initial version as advocated at 
     // http://wiki.apidesign.org/wiki/PropertyFiles 
     p.setProperty("version", "1.0"); 
     // TODO store your settings 
    } 

    Object readProperties(java.util.Properties p) { 
     if (instance == null) { 
      instance = this; 
     } 
     instance.readPropertiesImpl(p); 
     return instance; 
    } 

    private void readPropertiesImpl(java.util.Properties p) { 
     String version = p.getProperty("version"); 
     // TODO read your settings according to their version 
    } 

    @Override 
    protected String preferredID() { 
     return PREFERRED_ID; 
    } 

} 

ci-dessus est une application NetBeans application crud site de référence - http://platform.netbeans.org/tutorials/nbm-crud.html --point no-4. après la compilation du code ci-dessus, im obtenir le début illégal d'erreur de type à la ligne-- "pour (Customer c: resultList) {" et aussi une autre erreur sur la ligne suivante comme référence directe illégale plz guide comment corriger les 2 erreurs ci-dessusdans NetBeans application crud

Répondre

1

ce code:

EntityManager entityManager = Persistence.createEntityManagerFactory("CustomerLibraryPU").createEntityManager(); 
Query query = entityManager.createQuery("SELECT c FROM Customer c"); 
List<Customer> resultList = query.getResultList(); 
for (Customer c : resultList) { 
    jTextArea1.append(c.getName() + " (" + c.getCity() + ")" + "\n"); 
} 

a besoin d'être dans une méthode ou d'un constructeur, comme le tutoriel indique clairement:

Ajoutez ceci à la fin du constructeur TopComponent: (...)

+0

merci, il a travaillé .. mais dans l'application crud avant de lancer l'application, tutoriel dit pour démarrer le serveur de base de données. le site du tutoriel - http://platform.netbeans.org/tutorials/nbm-crud.html - en cours d'exécution le prototype .. est le serveur déjà là dans netbeans6.8 ou je dois installer un serveur SQL Oracle et besoin de se connecter à netbeans? guide de plz .. –

0

Veuillez vérifier le niveau de la source de votre module.

Regardez les propriétés du module sous les sources. Peut-être que son niveau inférieur à 1.5 et donc les génériques et la syntaxe "for (x: y)" améliorée ne sont pas disponibles.

J'ai juste essayé de créer un nouveau module dans NetBeans 6.9 et il fixe le niveau source initial à 1.6, cependant.

Questions connexes