Page 1 of 1

Applet και διάβασμα από αρχείο

Posted: Sat Oct 14, 2006 12:04 pm
by adam98
Έστω ότι έχω ένα applet που διαβάζει ένα string από κάποιο αρχείο έστω το a.txt και το εμφανίζει στην οθόνη.Αν είναι στο τοπικό σύστημα αρχείων είναι μια χαρά.Αν όμως όλη αυτή η ιστορία γίνεται σε web server θα δουλέψει?Δηλαδή ο client που θα τρέξει το applet από άλλο μηχάνημα θα δει το string δηλαδή το αρχείο θα κατέβει από τον server?

Posted: Sat Oct 14, 2006 1:21 pm
by Sreak
Χωρίς να έχω δουλέψει ποτέ με applets, μια λογική απάντηση θα ήταν το .txt να βρίσκεται σε ένα path στον σέρβερ σου και να το καλέις κάπως έτσι: http://www.yourserver/file.txt

Posted: Sat Oct 14, 2006 1:43 pm
by tsilochr
θα προεκτείνω λίγο την απάντηση του Sreak αλλά κι εγώ δεν έχω δουλέψει με applets.

Λογικά λοιπόν επειδή το applet εκτελείται τοπικά, βλέπει το τοπικό file system. Επομένως για να δει αρχεία που βρίσκονται σε κάποιο εξυπηρετητή θα πρέπει να είναι εύκαιρα για προσπέλαση από το Internet (δλδ σε κάποιο URL) και επίσης δεν ξέρω αν τα applets μπορούν ή έχουν δικαίωμα να το κάνουν αυτό...

Posted: Sat Oct 14, 2006 6:46 pm
by Einherjar
Αν το αρχείο βρίσκεται στον ίδιο server με το applet τότε δε θα έχεις κανένα πρόβλημα να διαβάσεις οποιοδήποτε αρχείο σερβίρει ο συγκεκριμένος server. Δε μπορεί να είναι οπουδήποτε στο filesystem του αλλά κάπου που να μπορεί να διαβάσει ο webserver. Αν όμως θέλεις να διαβάσεις ένα αρχείο που βρίσκεται κάπου αλλού θα έχεις μπελάδες καθώς χρειάζεται digital signatures κλπ...

Posted: Mon Oct 16, 2006 12:48 pm
by adam98
Ευχαριστώ για τις απαντήσεις.Θα ήθελα να ρωτήσω και κάτι άλλο:γράφω το applet σε netbeans ώστε να μην χασω χρόνο για το gui αλλά όταν βάζω το class που μεταγλωττίζω σε html για να το δω με τον explorer δεν μου ανοίγει και μου γράφει στο κάτω μέρος του παραθύρου "applet applet_name not inited",ενώ με το viewer του nb το ανοιγω και το βλέπω κανονικά να δουλεύει.Έχει κανεις ιδέα τι λάθος κάνω?

Posted: Wed Oct 18, 2006 1:01 am
by Argi
Πιθανώς λόγω κάποιου exception στην ασφάλεια δεν ξεκίνησε.
(μάλλον με πρόσβαση σε αρχεία έχει να κάνει, αφού με αυτά παίζει το πρόγραμμά σου)

Για να δείς τι έγινε πήγαινε: Εργαλεία-->Sun java console στον internet explorer σου για να σου βγάλει το stacktrace (για άλλον browser δεν ξέρω ).
Πόσταρέ το εδώ για να πάρεις γνώμες αν δεν βγάζεις άκρη ;)

Posted: Wed Oct 18, 2006 10:11 am
by PaP
Λογικά δεν έχεις καλέσει το Init από την ΗΤΜL σου. Κοίτα το αρχείο που παράγει το ΝEtBEans.
Βασικά καλύτερα ξέχνα τη αυτήν την ιδέα γιατί πολύ απλά ΔΕΝ ΠΑΙΖΕΙ εγώ είχα φάει3 βδομάδες με αυτό. Καλύτερα ανέβασε το αρχείο στο server και ας το διαβάσει αυτός

Posted: Wed Oct 18, 2006 12:52 pm
by adam98
Ti εννοείς δεν έχω καλέσει την init :?: Δεν καλείται αυτόματα όταν γράψω
"code="classname.class"" θέλει να γράψω κάτι παραπάνω γιατί σε άλλα έτοιμα applet που έχω κατεβάσει από το web με αυτόν τον κώδικα φορτώνονται.Επίσης στο console μου λέει ότι δεν βρίσκει το class που ήδη υπάρχει στο ίδιο φάκελο.Επίσης το applet είναι χαζό έχει απλώς ένα κουμπί ,΄ήθελα απλώς να δώ αν το ανοίγει ο IE

Posted: Wed Oct 18, 2006 12:57 pm
by Argi
adam98 wrote:Επίσης στο console μου λέει ότι δεν βρίσκει το class που ήδη υπάρχει στο ίδιο φάκελο.
Αυτό είναι το πρόβλημα. Έχεις γράψει καλά το όνομα; Είναι τα κεφαλαία-μικρά σωστά?

Posted: Wed Oct 25, 2006 8:58 pm
by adam98
Το σφάλμα και ο κώδικας μου ειναι:

Java Plug-in 1.5.0_07
Using JRE version 1.5.0_07 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Alexakos


----------------------------------------------------
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
p: reload proxy configuration
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------

java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at myApplet.init(myApplet.java:16)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/netbeans/lib/awtextra/AbsoluteLayout
at myApplet.initComponents(myApplet.java:36)
at myApplet.access$000(myApplet.java:11)
at myApplet$1.run(myApplet.java:18)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)



public class myApplet extends java.applet.Applet {

/** Initializes the applet myApplet */
public void init() {
try {
java.awt.EventQueue.invokeAndWait(new Runnable() {
public void run() {
initComponents();
}
});
} catch (Exception ex) {
ex.printStackTrace();
}
}

/** This method is called from within the init() method to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
private void initComponents() {
panel1 = new java.awt.Panel();
button1 = new java.awt.Button();

setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

setBackground(java.awt.Color.white);
setName("alex");
button1.setLabel("button1");
panel1.add(button1);

add(panel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 100, 120, 80));

}// </editor-fold>//GEN-END:initComponents


// Variables declaration - do not modify//GEN-BEGIN:variables
private java.awt.Button button1;
private java.awt.Panel panel1;
// End of variables declaration//GEN-END:variables

}

Posted: Thu Oct 26, 2006 5:00 pm
by Argi
Δεν βρήκε αυτή την τάξη η jvm σου:
org.netbeans.lib.awtextra.AbsoluteLayout
και αυτό επίσης: org.netbeans.lib.awtextra.AbsoluteConstraints
αν δεν σταμάταγε στο πρώτο.
Δοκίμασε κάποιο άλλο layout καλύτερα, αυτό το Layout που χρησιμοποιείς δεν ξέρω από που το βρήκες αλλά εμένα δεν το έχουν τα netbeans.

Posted: Thu Oct 26, 2006 7:22 pm
by adam98
Στο netbeans5 το βρήκα, το χρησιμοποίησα γιατί με αυτό μπορώ να κάνω grag and drop από το pallete τα αντικείμενα swing&awt και να τα κουνάω με το ποντίκι καθορίζοντας την θέση τους πολύ εύκολα πάντως αν κάνω run με το netbeans μου το ανοίγει

Posted: Fri Oct 27, 2006 2:44 am
by Argi
adam98 wrote:Στο netbeans5 το βρήκα, το χρησιμοποίησα γιατί με αυτό μπορώ να κάνω grag and drop από το pallete τα αντικείμενα swing&awt και να τα κουνάω με το ποντίκι καθορίζοντας την θέση τους πολύ εύκολα πάντως αν κάνω run με το netbeans μου το ανοίγει
Χμ, τότε ψάξε στο Internet σε ποιό jar αρχείο βρίσκονται αυτές οι τάξεις και κάντες copy-paste στο φάκελο με την εφαρμογή σου και θα παίξει ;)

Posted: Fri Oct 27, 2006 10:39 am
by adam98
Και οι δύο σου τρόποι ήταν σωστοί!Απλά δεν έιχα προσέξει ότι χρησιμοποιούσε αυτό το library,αλλαξα το layout &no problem!Ευχαριστώ πολύ! :-D

Posted: Fri Oct 27, 2006 4:12 pm
by Argi
Nice :)