απορια σε java

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

απορια σε java

Post by necrofear_13 » Mon Mar 09, 2009 11:47 am

Γεια σας παιδια μια απορια θελω να κανω.Εχω φτιαξει μια εφαρμογη με γραφικα και εχο προσθεσει καποιες εικονες .gif με new ImageIcon(this.getClass().getresources("path"); Ενω μεσω netbeans μου τρεχει κανονικα οταν φτιαχνω το jar δεν μου αναγνωριζονται οι εικονες και μου πεταει exception.Καμια συμβουλη???Ευχαριστω!!!
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
Sreak
Venus Project Founder
Venus Project Founder
Posts: 956
Joined: Fri Apr 02, 2004 9:56 am
Academic status: PhD
Location: eltrun.gr

Re: απορια σε java

Post by Sreak » Mon Mar 09, 2009 11:55 am

το path στις εικόνες πρέπει να το βάλεις relative π.χ ./../images/photo.gif και οχι absolute π.χ. c:\Documents\images\photo.gif
Επιπλέον θα πρέπει μαζι με το jar να σέρνεις και τον φεκολο images μαζί.
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

Re: απορια σε java

Post by necrofear_13 » Mon Mar 09, 2009 12:03 pm

Αυτο κανω relative το εχω βαλει και εχω βαλει το φακελο με τα images παντου
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Re: απορια σε java

Post by tsilochr » Mon Mar 09, 2009 1:54 pm

η getResource(String name) δεν ψάχνει στο filesystem. Το μονοπάτι που δίνεις ως όρισμα έχει αρχική θέση το φάκελο του πακέτου στο οποίο ανήκει η κλάση που καλείς. Παράδειγμα, αν έχεις το παρακάτω κώδικα

Code: Select all

package my;
class My{
    [...]
    this.getClass().getResource("foo.jpg");
αυτό θα αναζητήσει το πόρο foo.jpg μέσα στο directory my
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

Re: απορια σε java

Post by necrofear_13 » Mon Mar 09, 2009 2:03 pm

Οποτε λες να χρισημοποιησω τον κατασκευαστη με το filename???
edit:μα ακριβως εκει δεν θελω να ψαξει για να βρει την εικονα?στο directory my δεν θελω να ειναι???
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Re: απορια σε java

Post by tsilochr » Mon Mar 09, 2009 4:08 pm

1. η εικόνα είναι μέσα στο jar?
2. θα πρότεινα να κάνεις

Code: Select all

InputStream istream = this.getClass().getResourceAsStream("img.gif"); //this will return null if img.gif is not found
ImageIcon icon = ImageIO.read(istream); //this throws IOException
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

Re: απορια σε java

Post by necrofear_13 » Mon Mar 09, 2009 6:20 pm

Το θεμα λυθηκε και για οποιον εχει παρομοιο προβλημα ας ακολουθησει τη συμβουλη του tsilo!!!
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Re: απορια σε java

Post by tsilochr » Mon Mar 09, 2009 10:50 pm

necrofear_13 wrote:Το θεμα λυθηκε και για οποιον εχει παρομοιο προβλημα ας ακολουθησει τη συμβουλη του tsilo!!!
ευγε νέε μου, σωστά τα λες.
User avatar
h4wk
Gbyte level
Gbyte level
Posts: 1367
Joined: Wed Nov 21, 2007 11:14 pm
Gender:

Re: απορια σε java

Post by h4wk » Tue Mar 10, 2009 12:03 am

Χρόνια πολλά παλιέ :smt016
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Re: απορια σε java

Post by tsilochr » Tue Mar 10, 2009 12:32 am

ευχαριστώ

ΥΓ Σήμερα έχει γενέθλια ο ΟΣΦΠ
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

Re: απορια σε java

Post by necrofear_13 » Wed Mar 11, 2009 2:36 am

Οσον αφορα την προηγουμενη μου ερωτηση στην περιπτωση που εχει καποιος απορια πως γινεται να διαβασεις και .txt απο jar παλι ακολουθουμε παρομοια λογικη με αυτη που ακολουθησαμε για το image.
InputStream is = getClass().getResourceAsStream(filename);
BufferedReader br = new BufferedReader
(new InputStreamReader(is));
edit:To txt file πρεπει να βρισκεται στο φακελο που ειναι το .class της ταξης που περιεχει τον παρακατω κωδικα(ισως κανω λαθος εδω ας με διορθωσει καποιος αν κανω λαθος)
(Το εβαλα σε περιπτωση που το εχει καποιος απορια εμενα μου εφαγε πολυ ωρα το πρωτο και το ελυσα χαρη στο venus και τον tsilocr) :smt010
καληνυχτα!!!
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
ultimate_aektzis
Wow! Terabyte level
Wow! Terabyte level
Posts: 6373
Joined: Tue Nov 13, 2007 10:11 pm
Gender:

Re: απορια σε java

Post by ultimate_aektzis » Tue Mar 31, 2009 11:08 pm

Εχω μια απορια...ας υποθεσουμε οτι κανουμε extends μια κλαση και παραλληλα implements ενα interface.Ας υποθεσουμε και οτι τοσο η κλαση οσο και το interface εχουν μεθοδο με ιδια υπογραφη.Αν θελω να την ακυρωσω, πως θα του δωσω να καταλαβει ποια απο τις 2 να ακυρωσω ή αν θελω και τις 2?
User avatar
marios
Wow! Terabyte level
Wow! Terabyte level
Posts: 2810
Joined: Wed Sep 26, 2007 3:44 pm
Academic status: Alumnus/a
Gender:
Location: Μεταξύ φθοράς και αφθαρσίας

Re: απορια σε java

Post by marios » Tue Mar 31, 2009 11:19 pm

Δεν κατάλαβα τι ακριβώς εννοείς... (αρχικά, το ακυρώνω είναι το override;)
Εσυ θα έχεις στην class σου την μέθοδο, η οποία και θα εκτελείται όταν καλείται από αντικείμενο αυτού του τύπου. Που σκάλωσες; :-p
Μην κλαις επειδή τελείωσε. Χαμογέλα επειδή συνέβη- G.G.M.
Η μεγαλύτερη ευτυχία είναι να ξέρεις την πηγή της δυστυχίας-F.D.
Η μουσική εκφράζει αυτά που δεν μπορούν να ειπωθούν και που είναι αδύνατο να μείνουν στη σιωπή-V.H.
Πίστη στην πρόοδο, δεν σημαίνει και πίστη στο ότι έχει συμβεί κάποια πρόοδος-F.K.
Χωρίς μουσική, η ζωή θα ήταν ένα λάθος-F.N
User avatar
ultimate_aektzis
Wow! Terabyte level
Wow! Terabyte level
Posts: 6373
Joined: Tue Nov 13, 2007 10:11 pm
Gender:

Re: απορια σε java

Post by ultimate_aektzis » Tue Mar 31, 2009 11:26 pm

Εχω ενα interface με μια μεθοδο πχ isBoring() :-p .Οταν το interface υλοποιηθει απο μια ταξη, πρεπει να υλοποιηθει αυτη η μεθοδος.Καλα μεχρι εδω?

Εστω οτι η ιδια κλαση που κανει implements το παραπανω interface, κανει extends και μια αλλη κλαση.Η κλαση αυτη(η "μαμα") εστω οτι εχει μια μεθοδο με υπογραφη isBoring().Αν στην κλαση-παιδι θελω να κανω override την isBoring:

1.Πως θα του πω ποια απο τις 2 να ακυρωσω?Του interface ή της super class...

2.Αν θελω να ακυρωσω και τις 2 τι γινεται?Πως δηλωνεται?

Ειναι θεμα πολλαπλης κληρονομικοτητας και μιας και δεν ειχαμε πολυκανει στην c++ τωρα ψαχνομαι :roll:
User avatar
cypher
Venus Former Team Member
Posts: 6207
Joined: Mon Sep 29, 2008 9:12 pm
Academic status: Alumnus/a
Gender:

Re: απορια σε java

Post by cypher » Tue Mar 31, 2009 11:30 pm

Να ακυρωσεις ποια μεθοδο του interface; Αφου δεν την εχεις υλοποιησει ακομα. Οποτε λογικα θεωρει ως υλοποιηση την isBoring() που κληρονομηθηκε απο την υπερκλαση. Αν τωρα εσυ δημιουργησεις αλλη μεθοδο στην υποκλαση σου θα ακυρωσεις την isBoring() της υπερκλασης. Η isBoring του Interface ειναι απλα μια "δηλωση" του πως θα ειναι η συναρτηση και δεν εχεις ορισει εκει τιποτα για να γινει σε αυτο ακυρωση. Αρα δεν σε απασχολει εκεινη η isBoring().
Ελπιζω να μην λεω βλακειες. :-p :smt017
ImageImageImageImageImageImageImage
User avatar
marios
Wow! Terabyte level
Wow! Terabyte level
Posts: 2810
Joined: Wed Sep 26, 2007 3:44 pm
Academic status: Alumnus/a
Gender:
Location: Μεταξύ φθοράς και αφθαρσίας

Re: απορια σε java

Post by marios » Tue Mar 31, 2009 11:37 pm

Δεν είμαι σίγουρος, αλλά νομίζω ότι στην java δεν θελει δήλωση μαμας στην κάθε μέθοδο. Με άλλα λόγια νομίζω ότι κάτι τέτοιο είναι σωστό συνακτικά, αφού κάνει implement το interface και override την parent ταυτόχρονα:

Code: Select all

class mummy
{
  void isBoring()
  {
     mpla mpla
  }

interface father
{
  void isBoring();
}

class child extends mummy implements father
{
   void isBoring()
  {
     mpla2 mpla2
   }
}
Μην κλαις επειδή τελείωσε. Χαμογέλα επειδή συνέβη- G.G.M.
Η μεγαλύτερη ευτυχία είναι να ξέρεις την πηγή της δυστυχίας-F.D.
Η μουσική εκφράζει αυτά που δεν μπορούν να ειπωθούν και που είναι αδύνατο να μείνουν στη σιωπή-V.H.
Πίστη στην πρόοδο, δεν σημαίνει και πίστη στο ότι έχει συμβεί κάποια πρόοδος-F.K.
Χωρίς μουσική, η ζωή θα ήταν ένα λάθος-F.N
User avatar
ultimate_aektzis
Wow! Terabyte level
Wow! Terabyte level
Posts: 6373
Joined: Tue Nov 13, 2007 10:11 pm
Gender:

Re: απορια σε java

Post by ultimate_aektzis » Tue Mar 31, 2009 11:50 pm

Εν τη ριμη του λογου....υλοποιηθει και ακυρωθει, αντιστοιχα, ηθελα να πω αλλα μου εφυγε.
Η μεθοδος του interface μας ενδιαφερει γιατι λογικα δεν περναει το compile αν δεν την ακυρωσεις. :smt017
marios wrote:Δεν είμαι σίγουρος, αλλά νομίζω ότι στην java δεν θελει δήλωση μαμας στην κάθε μέθοδο. Με άλλα λόγια νομίζω ότι κάτι τέτοιο είναι σωστό συνακτικά, αφού κάνει implement το interface και override την parent ταυτόχρονα:

Code: Select all

class mummy
{
  void isBoring()
  {
     mpla mpla
  }

interface father
{
  void isBoring();
}

class child extends mummy implements father
{
   void isBoring()
  {
     mpla2 mpla2
   }
}
Καταρχην, ειναι ακυρο το 2ο ερωτημα μου παραπανω.Δεν μπορω να εχω 2 ορισμους της ιδιας μεθοδου overrided στο ιδιο .java.Νταξ πηγε και 12 :-p

Το κοιταξα και στο pc μου, και φαινεται να στεκει.Μαλλον τις ακυρωνει παραλληλα. :smt017
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

Re: απορια σε java

Post by necrofear_13 » Tue May 05, 2009 3:06 am

Γεια σας παιδια εχω ενα .jar που εχω φτιαξει με netbeans 6.1 το οποιο για να λειτουργησει επειδη εχς κανει import καποιες libraries 'κουβαλαει' στον ιδιο directory με αυτον ενα φακελακι lib που περιεχει τις επιπλεον βιβλιοθηκες.Θελω να το πακεταρω σε ενα .exe ή .jar και να μην χρειαζεται να εχω το lib.Υπαρχει τροπος???
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
netharis
Venus Former Team Member
Posts: 1845
Joined: Sun Jul 15, 2007 2:37 pm
Academic status: Alumnus/a
Gender:
Location: Seattle, Washington
Contact:

Re: απορια σε java

Post by netharis » Tue May 05, 2009 3:24 am

Βασικά πρέπει να εισάγεις μέσα στο java archive το φάκελο σου,
και να προγραμματίσεις τα import έτσι ώστε να τα διαβάζουν relative απο το αντίστοιχο κατάλογο.
Δεν βρίσκω κάποιο νόημα να το κάνεις wrap σε exe.
Eαν πάλι σε ενδιαφέρει κάτι τέτοιο κοίταξε το JSmooth.
Image
Resistance is futile. Join the foss-side now!
"UNIX is very simple, it just needs a genius to understand its simplicity." - Dennis Ritchie
"The things that I want, by Max Payne. A smoke. A whiskey. For the sun to shine. I want to sleep, to forget. To change the past. Unlimited ammo and a license to kill. But right then, more than anything, I wanted her."
User avatar
cypher
Venus Former Team Member
Posts: 6207
Joined: Mon Sep 29, 2008 9:12 pm
Academic status: Alumnus/a
Gender:

Re: απορια σε java

Post by cypher » Tue May 19, 2009 6:12 pm

Μιας και δεν βρισκω αλλο σχετικο θεμα, ξερει κανεις πως μπορω να ρυθμισω το netbeans ωστε να με αφηνει να κανω edit τον κωδικα του JFrame που φτιαχνει "αυτοματα"; Ξερω οτι μπορω να κανω δεξι κλικ πανω στο καθε component (απο το view mode) και edit code για να κανω καποιες στοιχειωδεις αλλαγες αλλα ειναι κουραστικο. :-p
ImageImageImageImageImageImageImage
User avatar
necrofear_13
Wow! Terabyte level
Wow! Terabyte level
Posts: 2141
Joined: Sun Nov 18, 2007 5:32 am
Academic status: Alumnus/a
Gender:
Location: ΗΡΑΚΛΕΙΟ ΑΤΤΙΚΗΣ

Re: απορια σε java

Post by necrofear_13 » Tue May 19, 2009 11:06 pm

Αν πας στο source πειραζεις ολο τον κωδικα μονο σου.Μπορεις να τα σβησεις ολα η να τα αλλαξεις ολα.
No matter what kind of sadness envelops the darkness of our despair, if you put one foot in front of the other, at some point you will reach a place where you can see the light.

In heaven or earth, no matter to where we progress, no matter where we walk, that becomes our road.
As long as we keep walking the battle will continue.
And that is exactly why this place will always be a paradise
User avatar
cypher
Venus Former Team Member
Posts: 6207
Joined: Mon Sep 29, 2008 9:12 pm
Academic status: Alumnus/a
Gender:

Re: απορια σε java

Post by cypher » Tue May 19, 2009 11:12 pm

Μα πηγα :-p και δεν μπορω να πειραξω τις γκρι σκιασμενες γραμμες. Μου κανει και τον αντιστοιχο ηχο του σφαλματος (ντοινκ ντοινκ). :-p Οτι μπορω να προσθεσω και αλλες γραμμες ναι, αλλα θελω να αλλαξω και αυτες που ειχε δημιουργησει αυτοματα απο το source κατευθεαιν.
ImageImageImageImageImageImageImage
Post Reply

Return to “Προγραμματισμός”