[Java] Applet getParameter() Null-Pointer

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von frankred, 6. September 2010 .

Schlagworte:
  1. 6. September 2010
    Applet getParameter() Null-Pointer

    Hi Leute hab momentan aus meiner sicht ein unerklärbares Problem. Es handel sich dabei um ein Java-Applet (JApplet) welches Parameter der Webseite bekommt, eine SessionID und GallerienIDs. Allerdings wird immer eine NullPointer Exception ausgelöst sobald ich getParameter("galleries") oder getParameter("sessionID") aufrufe.

    Fehlermeldung
    Code:
    java.lang.NullPointerException
     at java.applet.Applet.getParameter(Unknown Source)
     at view.ZwischenablageUploader.initGUI(ZwischenablageUploader.java:79)
     at view.ZwischenablageUploader.<init>(ZwischenablageUploader.java:60)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
     at java.lang.reflect.Constructor.newInstance(Unknown Source)
     at java.lang.Class.newInstance0(Unknown Source)
     at java.lang.Class.newInstance(Unknown Source)
     at sun.applet.AppletPanel.createApplet(Unknown Source)
     at sun.applet.AppletPanel.runLoader(Unknown Source)
     at sun.applet.AppletPanel.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)
    
    
    Hier der Code:
    Code:
    package view;
    import java.util.Vector;
    
    import javax.swing.ComboBoxModel;
    import javax.swing.DefaultComboBoxModel;
    import javax.swing.GroupLayout;
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JComboBox;
    import javax.swing.JComponent;
    import javax.swing.JLabel;
    import javax.swing.JProgressBar;
    import javax.swing.LayoutStyle;
    import javax.swing.SwingUtilities;
    
    import logic.get.GalleryNameClient;
    import logic.model.Gallery;
    import view.listener.UploadButtonActionListener;
    import view.text.Text;
    
    /**
     * Grafical user interface of the clipboarduploader
     * @author Frank Roth
     *
     */
    public class ZwischenablageUploader extends JApplet {
    
     private static final long serialVersionUID = -1812729455663662739L;
     private static JButton uploadButton;
     private static JProgressBar progressBar;
     private JLabel jLabel2;
     private JComboBox galleriesComboBox;
     private JLabel jLabel3;
     private static ZwischenablageUploader applet;
    
     {
     //Set Look & Feel
     try {
     javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName());
     } catch(Exception e) {
     e.printStackTrace();
     }
     }
     
     public ZwischenablageUploader() {
     super();
     initGUI();
     }
     
     private void initGUI() {
     try {
     GroupLayout thisLayout = new GroupLayout((JComponent)getContentPane());
     getContentPane().setLayout(thisLayout);
     
     uploadButton = new JButton();
    
     uploadButton.setText(Text.TEXT_UPLOAD_BUTTON);
     {
     jLabel2 = new JLabel();
     jLabel2.setText("hochladen in Gallery");
     }
     {
     // Init gallery names
     Vector<Gallery> galleryVector = new Vector<Gallery>();
     String galleriesString = new String();
     [COLOR="Red"]galleriesString = getParameter("galleries");[/COLOR]
     System.out.println("Debug");
     if(galleriesString != null){
     String galleries[] = galleriesString.split("[\\[\\]]+");
     galleryVector.add(new Gallery("", "---- keine ----"));
     for(String key : galleries){
     galleryVector.add(GalleryNameClient.getGalleryByKeyname(key));
     }
     }
     
     ComboBoxModel galleriesComboBoxModel = new DefaultComboBoxModel(galleryVector);
     galleriesComboBox = new JComboBox();
     galleriesComboBox.setModel(galleriesComboBoxModel);
     }
     {
     jLabel3 = new JLabel();
     jLabel3.setText("bereits hochgeladen");
     }
     uploadButton.addActionListener(new UploadButtonActionListener());
     
     progressBar = new JProgressBar();
     progressBar.setStringPainted(true);
     thisLayout.setVerticalGroup(thisLayout.createSequentialGroup()
     .addComponent(jLabel2, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
     .addComponent(galleriesComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
     .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
     .addComponent(jLabel3, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
     .addComponent(progressBar, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
     .addComponent(uploadButton, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE));
     thisLayout.setHorizontalGroup(thisLayout.createParallelGroup()
     .addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
     .addComponent(jLabel2, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
     .addGap(0, 326, Short.MAX_VALUE))
     .addComponent(galleriesComboBox, GroupLayout.Alignment.LEADING, 0, 422, Short.MAX_VALUE)
     .addGroup(GroupLayout.Alignment.LEADING, thisLayout.createSequentialGroup()
     .addComponent(jLabel3, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
     .addGap(0, 325, Short.MAX_VALUE))
     .addComponent(progressBar, GroupLayout.Alignment.LEADING, 0, 422, Short.MAX_VALUE)
     .addComponent(uploadButton, GroupLayout.Alignment.LEADING, 0, 422, Short.MAX_VALUE));
    
     applet = this; 
     this.setSize(422, 99);
     getContentPane().setBackground(new java.awt.Color(255,255,255));
     } catch (Exception e) {
     e.printStackTrace();
     }
     }
    
     public static JProgressBar getProgressBar() {
     return progressBar;
     }
    
     public static JButton getUploadButton() {
     return uploadButton;
     }
    
     public static ZwischenablageUploader getApplet() {
     return applet;
     }
     
     public static void main(String[] args) {
     SwingUtilities.invokeLater(new Runnable() {
     public void run() {
     ZwischenablageUploader inst = new ZwischenablageUploader();
     inst.setVisible(true);
     }
     });
     } 
    }
    
    Habe die Parameter natürlich in meinem Eclipse gesetzt aber funktioniert einfach nicht...
    Über Hilfe würde ich mich sehr freuen^^.
     
  2. 8. September 2010
    AW: Applet getParameter() Null-Pointer

    Die "" weg oder mit

    String s = String.ValueOf(variable); wenn es kein String ist.



    Du willst ja den Wert der Variable übergeben, wenn du einen Text mit getParameter übergibst, dann gibt es Fehler.
     
  3. 9. September 2010
    AW: Applet getParameter() Null-Pointer

    erstmal danke für deine Antwort, aber dass verstehe ich nicht wirklich?

    getParameter("name"); gibt doch bei einem Applet den Wert vom Parameter name zurück, oder verstehe ich das falsch?

    Wo muss ich denn die änderung vornehmen? Sorry steh grad aufm schlauch^^

    Hier der HTML Code dazu:

    Code:
    <applet code="view/ZwischenablageUploader.class" archive="ZwischenablageUploader.jar" width="100%" height="60">
     <param name="session" value="0d02fc1b7f9c684c16a2bb6cbc281a88"/>
     <param name="galleries" value="c304ab3,c217762,9afb8a4,baf52fe,d1ea2a5,924d2a,d24af88"/>
    </applet>
    
    
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.