Visualizzazione dei risultati da 1 a 5 su 5

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    99

    problemino con jnlp/java web start

    ciao a tutti, ho un problema con un programma del libro della Deitel (che fra l'altro consiglio a tutti), riguardante jnlp negli applet.
    Praticamente da eclipse su osx faccio partire e mi manda fuori l'errore che è scritto più giù.
    Ho provato a fare un .jar e ad aggiungere un .jnlp; a far partire da browser con un .html, ma nulla.
    ecco qui il codice che dovrebbe essere funzionante poichè tratto direttamente dal libro
    Il programma dovrebbe far scegliere un'immagine e poi dare la possibilità di ridimensionarla.
    codice:
    import java.awt.BorderLayout;
    import java.awt.Graphics;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.jnlp.FileContents;
    import javax.jnlp.FileOpenService;
    import javax.jnlp.ServiceManager;
    import javax.swing.ImageIcon;
    import javax.swing.JApplet;
    import javax.swing.JFrame;
    import javax.swing.JButton;
    import javax.swing.JLabel;
    import javax.swing.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    
    
    public class ScaleImage extends JApplet{
        private ImageIcon image;
        private JPanel scaleJPanel;
        private JLabel percentLabel;
        private JTextField inputPercentField;
        private JButton scaleButton;
        private double scaleValue=1.0;
    
        public void init(){
            scaleJPanel=new JPanel();
            percentLabel=new JLabel("scale percent: ");
            inputPercentField=new JTextField("100.0");
            scaleButton=new JButton("Scale");
    
            scaleJPanel.add(percentLabel);
            scaleJPanel.add(inputPercentField);
            scaleJPanel.add(scaleButton);
            add(scaleJPanel,BorderLayout.NORTH);
    
            scaleButton.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    scaleValue=Double.parseDouble(inputPercentField.getText())/100.0;
                    repaint();
                    }
                });
            try{
                FileOpenService fileOpenService=(FileOpenService) ServiceManager.lookup("javax.jnlp.FileOpenService");
                FileContents contents=fileOpenService.openFileDialog(null, null);
                byte[] imageData=new byte[(int) contents.getLength()];
                contents.getInputStream().read(imageData);
                image=new ImageIcon(imageData);
    
                add(new DrawJPanel(), BorderLayout.CENTER);
            }
            catch(Exception e){
                e.printStackTrace();
            }
        }
        private class DrawJPanel extends JPanel{
            public void PaintComponent(Graphics g){
                super.paintComponent(g);
                double spareWidth=getWidth()-scaleValue*image.getIconWidth();
                double spareHeight=getHeight()-scaleValue*image.getIconHeight();
                g.drawImage(image.getImage(),(int)(spareWidth)/2,(int)(spareHeight)/2,(int)(image.getIconWidth()*scaleValue),(int)(image.getIconHeight()*scaleValue), this);
            }
        }
    }
    Ecco qui l'errore che mi butta fuori eclipse quando dovrebbe aprire quello che fa scegliere l'immagine:
    codice:
    javax.jnlp.UnavailableServiceException: uninitialized    at javax.jnlp.ServiceManager.lookup(Unknown Source)
        at ScaleImage.init(ScaleImage.java:43)
        at sun.applet.AppletPanel.run(AppletPanel.java:435)
        at java.lang.Thread.run(Thread.java:745)
    Poi avrei un'altra questione, jnlp.jar è diventato javaws.jar con java7, cosa cambia in sostanza?
    Qualcuno mi può delucidare? Grazie in anticipo

    EDIT: OT: Ho dovuto fare molti tentativi per mettere il post, sia da chrome che da safari mi dava problemi e mi scriveva questo, poi ho risolto formattando il testo con text editor prima di incollarlo.. è normale?
    codice:
     Not AcceptableAn appropriate representation of the requested resource /forum/newthread.php could not be found on this server.
    
    Apache/2.2.22 (Ubuntu) Server at forum.html.it Port 80
    Ultima modifica di glukosio; 09-03-2015 a 15:10

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.