Avatar billede htx98i17 Professor
27. december 2008 - 21:03 Der er 18 kommentarer og
1 løsning

modifikationer på java applet

Jeg vil gerne have følgende java applet til at
1. Gemme filen som PHPSESSID.orig_ext
2. Kun at kunne tilvælge een fil at uploade.
3. Efter een succesfuld upload, skal upload knappen disables og først enables ved refresh.


-------------
import java.awt.*;
import java.awt.event.*;
import java.io.*;

import javax.swing.*;
import javax.swing.text.*;

import org.apache.commons.net.ftp.*;
import org.apache.commons.net.io.*;

public class FtpUploadApplet extends JApplet implements ActionListener, MouseListener {
    private JTextArea files;
    private JButton select;
    private JButton upload;
    private JProgressBar progress;
    private String dirname;
    private String[] filenames;
    public boolean[] selected;
    public void init() {
        getContentPane().setLayout(new BorderLayout());
        files = new JTextArea();
        files.addMouseListener(this);
        files.setFont(new Font("Courier", Font.PLAIN, files.getFont().getSize()));
        getContentPane().add(new JScrollPane(files), BorderLayout.CENTER);
        select = new JButton("Select dir");
        select.addActionListener(this);
        upload = new JButton("Upload");
        upload.addActionListener(this);
        JPanel btns = new JPanel();
        btns.setLayout(new GridLayout(1, 2));
        btns.add(select);
        btns.add(upload);
        getContentPane().add(btns, BorderLayout.SOUTH);
        progress = new JProgressBar();
        progress.setStringPainted(true);
        getContentPane().add(progress, BorderLayout.NORTH);
    }
    private void update() {
        StringBuffer sb = new StringBuffer("");
        for(int i = 0; i < filenames.length; i++) {
            sb.append(selected[i] ? "*" : " ");
            sb.append(filenames[i]);
            sb.append("\r\n");
        }
        files.setText(sb.toString());
    }
    public void actionPerformed(ActionEvent ev) {
        if(ev.getSource() == select) {
            JFileChooser chooser = new JFileChooser(System.getProperty("user.home"));
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            if(chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                File dir = chooser.getSelectedFile();
                dirname = dir.getAbsolutePath();
                filenames = dir.list();
                selected = new boolean[filenames.length];
                update();
            }
        }
        if(ev.getSource() == upload) {
            for(int i = 0; i < filenames.length; i++) {
                if(selected[i]) {
                    upload(dirname, filenames[i]);
                }
            }
        }
    }
    public void mouseClicked(MouseEvent ev) {
        try {
            int pos = files.getCaretPosition();
            int ix = files.getLineOfOffset(pos);
            selected[ix] = !selected[ix];
            update();
            files.setCaretPosition(pos);
        } catch (BadLocationException ex) {
            ex.printStackTrace();
        }
    }

    public void mousePressed(MouseEvent e) {
    }
    public void mouseReleased(MouseEvent e) {
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseExited(MouseEvent e) {
    }
    private void upload(String dirname, String filename) {
        Thread t = new UploadThread(dirname + File.separator + filename, filename, this);
        t.start();
    }
    public void setMax(final long max) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                progress.setMaximum((int)(max/1024));
            }
        });
    }
    public void setCur(final long cur) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                progress.setValue((int)(cur/1024));
            }
        });
    }
}

class UploadThread extends Thread implements CopyStreamListener{
    private static final String FTP_SERVER = "arne";
    private static final String FTP_USER = "arne";
    private static final String FTP_PASSWORD = "hemmeligt";
    private static final String FTP_SERVERDIR = "FTPTEST";
    private String localfnm;
    private String remotefnm;
    private FtpUploadApplet applet;
    public UploadThread(String localfnm, String remotefnm, FtpUploadApplet applet) {
        this.localfnm = localfnm;
        this.remotefnm = remotefnm;
        this.applet = applet;
    }
    public void run() {
        try {
            FTPClient client = new FTPClient();
            client.connect(FTP_SERVER);
            client.login(FTP_USER, FTP_PASSWORD);
            client.changeWorkingDirectory(FTP_SERVERDIR);
            client.setFileType(FTPClient.BINARY_FILE_TYPE);
            File f = new File(localfnm);
            InputStream is = new FileInputStream(f);
            OutputStream os = client.storeFileStream(remotefnm);
            applet.setMax(f.length());
            applet.setCur(0);
            Util.copyStream(is, os, 100000, f.length(), this);
            is.close();
            os.close();
            client.disconnect();
            JOptionPane.showMessageDialog(null, localfnm + " uploaded");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, localfnm + " not uploaded" + ": " + e);
        }
    }
    @Override
    public void bytesTransferred(CopyStreamEvent event) {
    }
    @Override
    public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) {
        applet.setCur(totalBytesTransferred);
    }
}
---------------------------
Avatar billede arne_v Ekspert
27. december 2008 - 22:20 #1
re 1)

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.regex.*;

import javax.swing.*;
import javax.swing.text.*;

import org.apache.commons.net.ftp.*;
import org.apache.commons.net.io.*;

import netscape.javascript.*;

public class FtpUploadApplet extends JApplet implements ActionListener, MouseListener {
    private JTextArea files;
    private JButton select;
    private JButton upload;
    private JProgressBar progress;
    private String dirname;
    private String[] filenames;
    public boolean[] selected;
    public void init() {
        getContentPane().setLayout(new BorderLayout());
        files = new JTextArea();
        files.addMouseListener(this);
        files.setFont(new Font("Courier", Font.PLAIN, files.getFont().getSize()));
        getContentPane().add(new JScrollPane(files), BorderLayout.CENTER);
        select = new JButton("Select dir");
        select.addActionListener(this);
        upload = new JButton("Upload");
        upload.addActionListener(this);
        JPanel btns = new JPanel();
        btns.setLayout(new GridLayout(1, 2));
        btns.add(select);
        btns.add(upload);
        getContentPane().add(btns, BorderLayout.SOUTH);
        progress = new JProgressBar();
        progress.setStringPainted(true);
        getContentPane().add(progress, BorderLayout.NORTH);
    }
    private void update() {
        StringBuffer sb = new StringBuffer("");
        for(int i = 0; i < filenames.length; i++) {
            sb.append(selected[i] ? "*" : " ");
            sb.append(filenames[i]);
            sb.append("\r\n");
        }
        files.setText(sb.toString());
    }
    public void actionPerformed(ActionEvent ev) {
       
        if(ev.getSource() == select) {
            JFileChooser chooser = new JFileChooser(System.getProperty("user.home"));
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            if(chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                File dir = chooser.getSelectedFile();
                dirname = dir.getAbsolutePath();
                filenames = dir.list();
                selected = new boolean[filenames.length];
                update();
            }
        }
        if(ev.getSource() == upload) {
            for(int i = 0; i < filenames.length; i++) {
                if(selected[i]) {
                    upload(dirname, filenames[i]);
                }
            }
        }
    }
    public void mouseClicked(MouseEvent ev) {
        try {
            int pos = files.getCaretPosition();
            int ix = files.getLineOfOffset(pos);
            selected[ix] = !selected[ix];
            update();
            files.setCaretPosition(pos);
        } catch (BadLocationException ex) {
            ex.printStackTrace();
        }
    }
    public void mousePressed(MouseEvent e) {
    }
    public void mouseReleased(MouseEvent e) {
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseExited(MouseEvent e) {
    }
    private void upload(String dirname, String filename) {
        int ix = filename.indexOf(".");
        if(ix < 0) ix = filename.length() - 1;
        Thread t = new UploadThread(dirname + File.separator + filename, getCookie("PHPSESSID") + "." + filename.substring(ix + 1), this);
        t.start();
    }
    private String getCookie(String name) {
        JSObject win = (JSObject)JSObject.getWindow(this);
        JSObject doc =  (JSObject)win.getMember("document");
        String cookies = (String)doc.getMember("cookie");
        Pattern p = Pattern.compile("(" + name + ")(=)([^;]*)");
        Matcher m = p.matcher(cookies);
        if(m.find()) {
            return m.group(3);
        } else {
            return "Default";
        }
    }
    public void setMax(final long max) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                progress.setMaximum((int)(max/1024));
            }
        });
    }
    public void setCur(final long cur) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                progress.setValue((int)(cur/1024));
            }
        });
    }
}

class UploadThread extends Thread implements CopyStreamListener{
    private static final String FTP_SERVER = "arne";
    private static final String FTP_USER = "arne";
    private static final String FTP_PASSWORD = "hemmeligt";
    private static final String FTP_SERVERDIR = "FTPTEST";
    private String localfnm;
    private String remotefnm;
    private FtpUploadApplet applet;
    public UploadThread(String localfnm, String remotefnm, FtpUploadApplet applet) {
        this.localfnm = localfnm;
        this.remotefnm = remotefnm;
        this.applet = applet;
    }
    public void run() {
        try {
            FTPClient client = new FTPClient();
            client.connect(FTP_SERVER);
            client.login(FTP_USER, FTP_PASSWORD);
            client.changeWorkingDirectory(FTP_SERVERDIR);
            client.setFileType(FTPClient.BINARY_FILE_TYPE);
            File f = new File(localfnm);
            InputStream is = new FileInputStream(f);
            OutputStream os = client.storeFileStream(remotefnm);
            applet.setMax(f.length());
            applet.setCur(0);
            Util.copyStream(is, os, 100000, f.length(), this);
            is.close();
            os.close();
            client.disconnect();
            JOptionPane.showMessageDialog(null, localfnm + " uploaded");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, localfnm + " not uploaded" + ": " + e);
        }
    }
    @Override
    public void bytesTransferred(CopyStreamEvent event) {
    }
    @Override
    public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) {
        applet.setCur(totalBytesTransferred);
    }
}



<?php
session_start();
?>
<applet codebase="." code="FtpUploadApplet.class" archive="FtpUploadApplet.jar" width="300" height="300" mayscript="1">
</applet>





javac -classpath commons-net-1.4.0.jar;C:\SUNJava\jdk1.6.0\jre\lib\plugin.jar FtpUploadApplet.java
jar cvfm FtpUploadApplet.jar manifest.txt FtpUploadApplet*.class UploadThread.class
Avatar billede arne_v Ekspert
27. december 2008 - 22:22 #2
PHP fil og build skal nok merges ind i dine. PHP fil indeholder en session_start() og
mayscript attribut på applet tag. Build har tilføjer plugin.jar til javac classpath
(browseren har allerede den, så den skal ikke i manifest eller uploades).
Avatar billede arne_v Ekspert
27. december 2008 - 22:27 #3
re 2)

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;

import javax.swing.*;
import javax.swing.text.*;

import org.apache.commons.net.ftp.*;
import org.apache.commons.net.io.*;

import netscape.javascript.*;

public class FtpUploadApplet extends JApplet implements ActionListener, MouseListener {
    private JTextArea files;
    private JButton select;
    private JButton upload;
    private JProgressBar progress;
    private String dirname;
    private String[] filenames;
    public boolean[] selected;
    public void init() {
        getContentPane().setLayout(new BorderLayout());
        files = new JTextArea();
        files.addMouseListener(this);
        files.setFont(new Font("Courier", Font.PLAIN, files.getFont().getSize()));
        getContentPane().add(new JScrollPane(files), BorderLayout.CENTER);
        select = new JButton("Select dir");
        select.addActionListener(this);
        upload = new JButton("Upload");
        upload.addActionListener(this);
        JPanel btns = new JPanel();
        btns.setLayout(new GridLayout(1, 2));
        btns.add(select);
        btns.add(upload);
        getContentPane().add(btns, BorderLayout.SOUTH);
        progress = new JProgressBar();
        progress.setStringPainted(true);
        getContentPane().add(progress, BorderLayout.NORTH);
    }
    private void update() {
        StringBuffer sb = new StringBuffer("");
        for(int i = 0; i < filenames.length; i++) {
            sb.append(selected[i] ? "*" : " ");
            sb.append(filenames[i]);
            sb.append("\r\n");
        }
        files.setText(sb.toString());
    }
    public void actionPerformed(ActionEvent ev) {
       
        if(ev.getSource() == select) {
            JFileChooser chooser = new JFileChooser(System.getProperty("user.home"));
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            if(chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                File dir = chooser.getSelectedFile();
                dirname = dir.getAbsolutePath();
                filenames = dir.list();
                selected = new boolean[filenames.length];
                update();
            }
        }
        if(ev.getSource() == upload) {
            for(int i = 0; i < filenames.length; i++) {
                if(selected[i]) {
                    upload(dirname, filenames[i]);
                }
            }
        }
    }
    public void mouseClicked(MouseEvent ev) {
        try {
            int pos = files.getCaretPosition();
            int ix = files.getLineOfOffset(pos);
            Arrays.fill(selected, false);
            selected[ix] = !selected[ix];
            update();
            files.setCaretPosition(pos);
        } catch (BadLocationException ex) {
            ex.printStackTrace();
        }
    }
    public void mousePressed(MouseEvent e) {
    }
    public void mouseReleased(MouseEvent e) {
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseExited(MouseEvent e) {
    }
    private void upload(String dirname, String filename) {
        int ix = filename.indexOf(".");
        if(ix < 0) ix = filename.length() - 1;
        Thread t = new UploadThread(dirname + File.separator + filename, getCookie("PHPSESSID") + "." + filename.substring(ix + 1), this);
        t.start();
    }
    private String getCookie(String name) {
        JSObject win = (JSObject)JSObject.getWindow(this);
        JSObject doc =  (JSObject)win.getMember("document");
        String cookies = (String)doc.getMember("cookie");
        Pattern p = Pattern.compile("(" + name + ")(=)([^;]*)");
        Matcher m = p.matcher(cookies);
        if(m.find()) {
            return m.group(3);
        } else {
            return "Default";
        }
    }
    public void setMax(final long max) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                progress.setMaximum((int)(max/1024));
            }
        });
    }
    public void setCur(final long cur) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                progress.setValue((int)(cur/1024));
            }
        });
    }
}

class UploadThread extends Thread implements CopyStreamListener{
    private static final String FTP_SERVER = "arne";
    private static final String FTP_USER = "arne";
    private static final String FTP_PASSWORD = "hemmeligt";
    private static final String FTP_SERVERDIR = "FTPTEST";
    private String localfnm;
    private String remotefnm;
    private FtpUploadApplet applet;
    public UploadThread(String localfnm, String remotefnm, FtpUploadApplet applet) {
        this.localfnm = localfnm;
        this.remotefnm = remotefnm;
        this.applet = applet;
    }
    public void run() {
        try {
            FTPClient client = new FTPClient();
            client.connect(FTP_SERVER);
            client.login(FTP_USER, FTP_PASSWORD);
            client.changeWorkingDirectory(FTP_SERVERDIR);
            client.setFileType(FTPClient.BINARY_FILE_TYPE);
            File f = new File(localfnm);
            InputStream is = new FileInputStream(f);
            OutputStream os = client.storeFileStream(remotefnm);
            applet.setMax(f.length());
            applet.setCur(0);
            Util.copyStream(is, os, 100000, f.length(), this);
            is.close();
            os.close();
            client.disconnect();
            JOptionPane.showMessageDialog(null, localfnm + " uploaded");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, localfnm + " not uploaded" + ": " + e);
        }
    }
    @Override
    public void bytesTransferred(CopyStreamEvent event) {
    }
    @Override
    public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) {
        applet.setCur(totalBytesTransferred);
    }
}
Avatar billede arne_v Ekspert
27. december 2008 - 22:30 #4
re 3)

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;

import javax.swing.*;
import javax.swing.text.*;

import org.apache.commons.net.ftp.*;
import org.apache.commons.net.io.*;

import netscape.javascript.*;

public class FtpUploadApplet extends JApplet implements ActionListener, MouseListener {
    private JTextArea files;
    private JButton select;
    private JButton upload;
    private JProgressBar progress;
    private String dirname;
    private String[] filenames;
    public boolean[] selected;
    public void init() {
        getContentPane().setLayout(new BorderLayout());
        files = new JTextArea();
        files.addMouseListener(this);
        files.setFont(new Font("Courier", Font.PLAIN, files.getFont().getSize()));
        getContentPane().add(new JScrollPane(files), BorderLayout.CENTER);
        select = new JButton("Select dir");
        select.addActionListener(this);
        upload = new JButton("Upload");
        upload.addActionListener(this);
        JPanel btns = new JPanel();
        btns.setLayout(new GridLayout(1, 2));
        btns.add(select);
        btns.add(upload);
        getContentPane().add(btns, BorderLayout.SOUTH);
        progress = new JProgressBar();
        progress.setStringPainted(true);
        getContentPane().add(progress, BorderLayout.NORTH);
    }
    private void update() {
        StringBuffer sb = new StringBuffer("");
        for(int i = 0; i < filenames.length; i++) {
            sb.append(selected[i] ? "*" : " ");
            sb.append(filenames[i]);
            sb.append("\r\n");
        }
        files.setText(sb.toString());
    }
    public void actionPerformed(ActionEvent ev) {
       
        if(ev.getSource() == select) {
            JFileChooser chooser = new JFileChooser(System.getProperty("user.home"));
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
            if(chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                File dir = chooser.getSelectedFile();
                dirname = dir.getAbsolutePath();
                filenames = dir.list();
                selected = new boolean[filenames.length];
                update();
            }
        }
        if(ev.getSource() == upload) {
            for(int i = 0; i < filenames.length; i++) {
                if(selected[i]) {
                    upload(dirname, filenames[i]);
                }
            }
        }
    }
    public void mouseClicked(MouseEvent ev) {
        try {
            int pos = files.getCaretPosition();
            int ix = files.getLineOfOffset(pos);
            Arrays.fill(selected, false);
            selected[ix] = !selected[ix];
            update();
            files.setCaretPosition(pos);
        } catch (BadLocationException ex) {
            ex.printStackTrace();
        }
    }
    public void mousePressed(MouseEvent e) {
    }
    public void mouseReleased(MouseEvent e) {
    }
    public void mouseEntered(MouseEvent e) {
    }
    public void mouseExited(MouseEvent e) {
    }
    private void upload(String dirname, String filename) {
        int ix = filename.indexOf(".");
        if(ix < 0) ix = filename.length() - 1;
        Thread t = new UploadThread(dirname + File.separator + filename, getCookie("PHPSESSID") + "." + filename.substring(ix + 1), this);
        t.start();
    }
    private String getCookie(String name) {
        JSObject win = (JSObject)JSObject.getWindow(this);
        JSObject doc =  (JSObject)win.getMember("document");
        String cookies = (String)doc.getMember("cookie");
        Pattern p = Pattern.compile("(" + name + ")(=)([^;]*)");
        Matcher m = p.matcher(cookies);
        if(m.find()) {
            return m.group(3);
        } else {
            return "Default";
        }
    }
    public void setMax(final long max) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                progress.setMaximum((int)(max/1024));
            }
        });
    }
    public void setCur(final long cur) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                progress.setValue((int)(cur/1024));
            }
        });
    }
    public void setDone() {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                select.setEnabled(false);
                upload.setEnabled(false);
            }
        });
    }
}

class UploadThread extends Thread implements CopyStreamListener{
    private static final String FTP_SERVER = "arne";
    private static final String FTP_USER = "arne";
    private static final String FTP_PASSWORD = "hemmeligt";
    private static final String FTP_SERVERDIR = "FTPTEST";
    private String localfnm;
    private String remotefnm;
    private FtpUploadApplet applet;
    public UploadThread(String localfnm, String remotefnm, FtpUploadApplet applet) {
        this.localfnm = localfnm;
        this.remotefnm = remotefnm;
        this.applet = applet;
    }
    public void run() {
        try {
            FTPClient client = new FTPClient();
            client.connect(FTP_SERVER);
            client.login(FTP_USER, FTP_PASSWORD);
            client.changeWorkingDirectory(FTP_SERVERDIR);
            client.setFileType(FTPClient.BINARY_FILE_TYPE);
            File f = new File(localfnm);
            InputStream is = new FileInputStream(f);
            OutputStream os = client.storeFileStream(remotefnm);
            applet.setMax(f.length());
            applet.setCur(0);
            Util.copyStream(is, os, 100000, f.length(), this);
            is.close();
            os.close();
            client.disconnect();
            applet.setDone();
            JOptionPane.showMessageDialog(null, localfnm + " uploaded");
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, localfnm + " not uploaded" + ": " + e);
        }
    }
    @Override
    public void bytesTransferred(CopyStreamEvent event) {
    }
    @Override
    public void bytesTransferred(long totalBytesTransferred, int bytesTransferred, long streamSize) {
        applet.setCur(totalBytesTransferred);
    }
}
Avatar billede arne_v Ekspert
27. december 2008 - 22:30 #5
Note: Java koden er akkumulativ d.v.s. 1, 1+2 og 1+2+3 !
Avatar billede htx98i17 Professor
27. december 2008 - 22:34 #6
jeg kører:


C:\Programmer\Java\jdk1.6.0_11\bin>javac -classpath commons-net-2.0.jar FtpUploa
dApplet.java
FtpUploadApplet.java:13: package netscape.javascript does not exist
import netscape.javascript.*;
^
FtpUploadApplet.java:99: cannot find symbol
symbol  : class JSObject
location: class FtpUploadApplet
        JSObject win = (JSObject)JSObject.getWindow(this);
        ^
FtpUploadApplet.java:99: cannot find symbol
symbol  : class JSObject
location: class FtpUploadApplet
        JSObject win = (JSObject)JSObject.getWindow(this);
                        ^
FtpUploadApplet.java:99: cannot find symbol
symbol  : variable JSObject
location: class FtpUploadApplet
        JSObject win = (JSObject)JSObject.getWindow(this);
                                ^
FtpUploadApplet.java:100: cannot find symbol
symbol  : class JSObject
location: class FtpUploadApplet
        JSObject doc =  (JSObject)win.getMember("document");
        ^
FtpUploadApplet.java:100: cannot find symbol
symbol  : class JSObject
location: class FtpUploadApplet
        JSObject doc =  (JSObject)win.getMember("document");
                        ^
6 errors
Avatar billede htx98i17 Professor
27. december 2008 - 22:35 #7
i FtpUploadApplet.java er koden fra 22:30:30
Avatar billede htx98i17 Professor
27. december 2008 - 22:39 #8
her er en ny jeg kører

C:\Programmer\Java\jdk1.6.0_11\bin>javac -classpath commons-net-2.0.jar;plugin.j
ar FtpUploadApplet.java
FtpUploadApplet.java:13: package netscape.javascript does not exist
import netscape.javascript.*;
^
FtpUploadApplet.java:99: cannot find symbol
symbol  : class JSObject
location: class FtpUploadApplet
        JSObject win = (JSObject)JSObject.getWindow(this);
        ^
FtpUploadApplet.java:99: cannot find symbol
symbol  : class JSObject
location: class FtpUploadApplet
        JSObject win = (JSObject)JSObject.getWindow(this);
                        ^
FtpUploadApplet.java:99: cannot find symbol
symbol  : variable JSObject
location: class FtpUploadApplet
        JSObject win = (JSObject)JSObject.getWindow(this);
                                ^
FtpUploadApplet.java:100: cannot find symbol
symbol  : class JSObject
location: class FtpUploadApplet
        JSObject doc =  (JSObject)win.getMember("document");
        ^
FtpUploadApplet.java:100: cannot find symbol
symbol  : class JSObject
location: class FtpUploadApplet
        JSObject doc =  (JSObject)win.getMember("document");
                        ^
6 errors
Avatar billede htx98i17 Professor
27. december 2008 - 22:47 #9
nu er den der vist. jeg kopierede plugin.jar til bin mappen
Avatar billede htx98i17 Professor
27. december 2008 - 22:50 #10
hvad skal jeg så uploade?

FtpUploadApplet.jar
UploadThread.class
?
Avatar billede htx98i17 Professor
27. december 2008 - 23:02 #11
PERFEKT! det funger!

22:30:53: det forstår jeg ikke? :)
Avatar billede htx98i17 Professor
27. december 2008 - 23:04 #12
Ved du forøvrigt hvordan man certificere filen mere end 6 md ad gangen?
Avatar billede htx98i17 Professor
27. december 2008 - 23:07 #13
og hvad betyder mayscript="1"
Avatar billede arne_v Ekspert
28. december 2008 - 02:00 #14
mayscript="1"

tillader appletten at bruge JavaScript
Avatar billede arne_v Ekspert
28. december 2008 - 02:01 #15
22:30:53 siger at den sidste kode dækker spørgsmål 1+2+3
Avatar billede arne_v Ekspert
28. december 2008 - 02:03 #16
Hvis du bruger:

jar cvfm FtpUploadApplet.jar manifest.txt FtpUploadApplet*.class UploadThread.class

skal du kun uploade FtpUploadApplet.jar

plugin.jar skal kun bruges ved compilation - browseren har den i classpath når appletten kører
Avatar billede arne_v Ekspert
28. december 2008 - 02:07 #17
Når du kører:

keytool -genkey ...

så prøv og angive:

-validity 3650
Avatar billede htx98i17 Professor
28. december 2008 - 08:49 #18
tak for hjælpen :)
lig et svar

når du når 1 million point, regner jeg med at der lyder en speciel tak til mig hehe
Avatar billede arne_v Ekspert
28. december 2008 - 16:01 #19
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester