JFileChooser aus Browser-Applet

  • Themenstarter Themenstarter MeTRiX
  • Beginndatum Beginndatum
M

MeTRiX

Hallo,

ich bin absoluter Java-Neuling und Versuche gerade einen Browser-Upload als Java-Applet zu realisieren, damit ich mehrere Dateien auf einmal hochladen kann. Sprich: Verzeichnisauswahl und er lädt den Inhalt hoch. Leider konnte mir die Suche bei meinem Problem nicht helfen.

Die Auswahl mit JFileChooser erfüllt genau meine Anforderungen. Starte ich aus Eclipse den AppletViewer funktioniert das Applet perfekt. Sobald ich jedoch das Applet im Browser einbinde IE / FF sehe ich nur noch den Button, der nach einem Klick keinerlei Funktion hat. Es geht also der Filechooser nicht auf.

HTML-Source
Code:
<applet height="550" width="940" code="DirUploader"></applet>


Java-Test-Source
Code:
import javax.swing.JApplet;
import javax.swing.JFileChooser;
import javax.swing.JTextField;
import java.awt.BorderLayout;
import javax.swing.JButton;

/*
 * Created on 06.05.2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author dm
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class DirUploader extends JApplet {

	private javax.swing.JPanel jContentPane = null;
	private JTextField jTextField = null;
	private JButton jButton = null;
	/**
	 * This is the default constructor
	 */
	public DirUploader() {
		super();
		init();
	}
	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	public void init() {
		this.setSize(300,200);
		this.setContentPane(getJContentPane());
	}
	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private javax.swing.JPanel getJContentPane() {
		if(jContentPane == null) {
			BorderLayout borderLayout3 = new BorderLayout();
			jContentPane = new javax.swing.JPanel();
			jContentPane.setLayout(borderLayout3);
			jContentPane.setComponentOrientation(java.awt.ComponentOrientation.UNKNOWN);
			jContentPane.add(getJTextField(), java.awt.BorderLayout.NORTH);
			jContentPane.add(getJButton(), java.awt.BorderLayout.CENTER);
			jContentPane.add(getJTextField(), java.awt.BorderLayout.WEST);
		}
		return jContentPane;
	}
	/**
	 * This method initializes jTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */    
	private JTextField getJTextField() {
		if (jTextField == null) {
			jTextField = new JTextField();
		}
		return jTextField;
	}
	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */    
	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setText("test");
			jButton.addActionListener(new java.awt.event.ActionListener() { 
				public void actionPerformed(java.awt.event.ActionEvent e) {    
					//DirUploader DirUploader = new DirUploader();
					JFileChooser fc = new JFileChooser();
					
					fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
					fc.setMultiSelectionEnabled(true); 
					
					int returnVal = fc.showOpenDialog(null);
				}
			});
		}
		return jButton;
	}
  }


Würde mich sehr freuen, wenn mir einer helfen könnte. Vielen Dank!
 
hat sich erledigt. Bin nach stundenlanger Suche darauf gestoßen, dass ich das Applet mit jarsigner signieren muss.
 
Zurück