Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro
Lenovo Idea Tab Plus prova a portare un display da 12,1 pollici 2.5K, quattro speaker Dolby Atmos e una batteria da 10.200 mAh sotto la soglia psicologica dei 300 euro, penna inclusa. Lo abbiamo usato per oltre una settimana per capire dove l'azienda ha tagliato e dove invece ha tenuto il punto
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea
L'euro digitale è una valuta fiat che entrerà in vigore nei prossimi anni. L'obiettivo principale è quello di ridurre la dipendenza dalle piattaforme di pagamento digitali statunitensi e offrire ai cittadini un modo semplice per trasferire denaro. Anche offline, anche in maniera (pseudo)anonima
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-11-2008, 17:06   #1
royaleagle
Senior Member
 
L'Avatar di royaleagle
 
Iscritto dal: Jan 2007
Messaggi: 1237
[JAVA] Applet fa le bizze

Ho scritto una galleria fotografica in Java, l'ho poi adattata sotto forma di applet e funziona (sotto Eclipse e anche da riga di comando)!
Inserendola in una pagina html e lanciando il browser saltan fuori gli errori:

java.security.AccessControlException: access denied (java.io.FilePermission data/data.txt read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
at java.io.FileInputStream.<init>(FileInputStream.java:100)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at FotoGallery.azioniFile(FotoGallery.java:91)
at FotoGallery.init(FotoGallery.java:47)
at sun.applet.AppletPanel.run(AppletPanel.java:424)
at java.lang.Thread.run(Thread.java:619)

Codice:
public class FotoGallery extends JApplet implements ActionListener{
	JButton b1, b2, b3, b4;
	JComboBox cb;
	JPanel cmd;
	JLabel pic;
	Container c;
	String[] titoli;
	ImageIcon img;
	Vector<String> nomi = new Vector<String>();
	Vector<Integer> numeri = new Vector<Integer>();
	int currentPhoto = 0;
	
	public FotoGallery(){}
	
	public void init(){
		
		azioniFile();
		nomi.add(titoli[0]);
		nomi.add(titoli[1]);
		nomi.add(titoli[2]);
		numeri.add(4);
		numeri.add(3);
		numeri.add(2);
				
		b1 = new JButton("<");
		b2 = new JButton("<<");
		b3 = new JButton(">");
		b4 = new JButton(">>");
		cmd = new JPanel();
		pic = new JLabel();
		c = getContentPane();
		cb = new JComboBox(titoli);
		
		cb.setSelectedIndex(-1);
		cb.addActionListener(this);
		
		b1.addActionListener(this);
		b2.addActionListener(this);
		b3.addActionListener(this);
		b4.addActionListener(this);
		
		cmd.add(b1);
		cmd.add(b2);
		cmd.add(cb);
		cmd.add(b3);
		cmd.add(b4);
		
		c.add(cmd, BorderLayout.NORTH);
		c.add(pic);
		
		setSize(800,600);
	}
	
	public void azioniFile(){
		/* Acquisizione informazioni da "data/data.txt" */
		String riga = "", nome;
		int num;
		FileInputStream in = null;
		
		try{
			in = new FileInputStream("data/data.txt");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} 
		System.out.println("File aperto!");
		
		InputStreamReader input = new InputStreamReader(in);
		BufferedReader reader = new BufferedReader(input);
				
		//...varie operazioni sul file ...//
			
		titoli = new String[nomi.size()];
		for(int z = 0; z < nomi.size(); z++){
			titoli[z] = nomi.elementAt(z);
		}
	}
	
	public void actionPerformed(ActionEvent e) {
		if(e.getSource() == b3){
			if( currentPhoto == numeri.elementAt(cb.getSelectedIndex()) )
				currentPhoto = 1;
			else	currentPhoto++;
			aggiornaLabel(cb.getSelectedIndex(), currentPhoto);
		}
		//...operazioni analoghe per b1,b2,b4...//
		else if(e.getSource() == cb){
			caricaAlbum(cb.getSelectedIndex());
		}
	}
	
	public void caricaAlbum(int index){
		System.out.println("Entro in caricaAlbum " + index);
		currentPhoto = 1;
		aggiornaLabel(index, currentPhoto);
	}

	public void aggiornaLabel(int index, int foto){
		ImageIcon icon = creaIcona(index + "/" + foto + ".jpg");
		pic.setIcon(icon);
		pic.setHorizontalAlignment(JLabel.CENTER);
		if (icon != null) 	pic.setText(null);
		else				pic.setText("Impossibile trovare la pagina");
	}
	
	public static ImageIcon creaIcona(String path) {
	    URL imgURL = FotoGallery.class.getResource(path);
	    if (imgURL != null) {
	      return new ImageIcon(imgURL);
	    }else{
	      System.err.println("Impossibile trovare il file: " + path);
	      return null;
	    }
	  }

}

Avete qualche idea? Magari è uno dei problemi più ricorrenti per le applet, non so..
__________________
59 trattative ok (ultimo: IntoTrouble)

Ultima modifica di royaleagle : 25-11-2008 alle 17:12.
royaleagle è offline   Rispondi citando il messaggio o parte di esso
Old 25-11-2008, 23:57   #2
royaleagle
Senior Member
 
L'Avatar di royaleagle
 
Iscritto dal: Jan 2007
Messaggi: 1237
Dunque il problema è proprio quella lettura del file data.txt : non è proprio possibile leggere (soltanto leggere) un file? Va bene che il java è un linguaggio sicuro, però..
__________________
59 trattative ok (ultimo: IntoTrouble)
royaleagle è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2008, 11:08   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Dovresti leggerti qualcosa sulle Applet: io non ne ho mai realizzata una fin'ora, però so che funzionano come sand-box e non credo tu possa da una Applet accedere tanto facilmente a dati contenuti nel pc client di chi la usa (per ovvie ragioni).
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2008, 11:20   #4
franklyn
Senior Member
 
L'Avatar di franklyn
 
Iscritto dal: Dec 2001
Città: Napoli
Messaggi: 3249
Le applet hanno delle limitazioni sui client su cui vengono eseguite,
tra queste limitazioni non possono accedere ai file di sistema.
Per fare quello che vuoi devi fare una firma digitale per l'applet.

Leggiti un pò questo link mi sembra la via più semplice, anche se cmq è un argomento vasto.
http://www.max74.it/blog/2007_11_01_archive.html

Spero di esserti stato di aiuto
__________________
Codice:

Concluso con[OK BAD]: ercagno,Claudio, Antopx, Lunaticgate, Deuced, Nicola5154,nEA[x2], Lupino.86, ironfrank, Marxio, luke10, Sniper86, alexis1980, Andrea16v[x3], Red_Rose, mitsuhashi1, antanio, Rinos, flavix25, geolite30, cianuro, spzerosp, GoldFinder,  Zagor4, Mercurius00, Leland Gaunt, Iron10, tyco74, Clatit, PaPuAsja, onka, jing13, _19Fabio85_, Murakami,  raizen89, dinigio63, ncerozz, rtype, Isotattico, vinz86, valdisteadsl,  battalion75

Ultima modifica di franklyn : 26-11-2008 alle 11:27.
franklyn è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2008, 13:35   #5
royaleagle
Senior Member
 
L'Avatar di royaleagle
 
Iscritto dal: Jan 2007
Messaggi: 1237
Io ho provato a mettere in una cartella il jar firmato (dove dentro c'è anche il famoso data.txt nella cartella data) e il foglio html: ed ecco l'errore.
Cioè, io non leggo/scrivo da disco (o mi sbaglio?) ma leggo dal file che sarà presente nel mio spazio web!
__________________
59 trattative ok (ultimo: IntoTrouble)
royaleagle è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2008, 16:27   #6
royaleagle
Senior Member
 
L'Avatar di royaleagle
 
Iscritto dal: Jan 2007
Messaggi: 1237
Ho risolto il problema relativo al file, e puntuale è arrivato un altro problema: StringIndexOutOfBoundsException..
Possibile che questo succeda solo caricando l'applet nel mio spazio web? Da locale mi funziona tutto.
__________________
59 trattative ok (ultimo: IntoTrouble)
royaleagle è offline   Rispondi citando il messaggio o parte di esso
Old 26-11-2008, 19:53   #7
royaleagle
Senior Member
 
L'Avatar di royaleagle
 
Iscritto dal: Jan 2007
Messaggi: 1237
Ok ho risolto!
Un grande ringraziamento a ^TiGeRShArK^ e agli altri che mi hanno risposto.
__________________
59 trattative ok (ultimo: IntoTrouble)
royaleagle è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Oltre il contante e le crypto: tutto sull'Euro Digitale e la nuova sovranità monetaria europea Oltre il contante e le crypto: tutto sull'Euro D...
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Telegram integrerà un portafoglio...
Il debito nascosto dei giganti tech dell...
Amazon dà il via libera alla seri...
Addio crisi dell'elio-3? Questa tecnolog...
Google Pixel 10a a 399€ e crolla anche i...
Haier I-Pro Serie 3 a 359€: la lavatrice...
Claude Code ora collauda le app iOS da s...
Unity mostra per la prima volta un gioco...
Fotonica programmabile: un chip sudcorea...
DJI Neo vola da solo, è un 4K, senza pat...
NVIDIA RTX Spark: i driver Windows 11 sv...
Oracle fa accelerare l'innovazione nei c...
OpenAI ammette: i modelli IA sono evasi ...
Dyson V8 Origin a 249€: la scopa elettri...
Un testo invisibile fa eseguire all'agen...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:32.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v