Image reinladen funktioniert nicht.

Status
Nicht offen für weitere Antworten.

JeReT

Mitglied
Ich habe vor, ein Breakout spiel für Handies zu programmieren. Leider scheitere ich schon beim Laden eines Bildes.

Ich verwende:
- Eclipse 3.2.1
- EclipseME (neueste version, keine Ahnung, welche das ist)
- SUN WTK 2.2


meine frage wurde früher schoneinmal gestellt, blieb aber unbeantwortet:
http://www.java-forum.org/de/viewtopic.php?t=22194&highlight=image

Ich hoffe mittlerweile weiß jemand, was zu tun ist.

Hier ein auszug aus dem Code:

Code:
	private Image m_Player;
	public PlayerBar(  )
	{
		// ...
			
		try // try to create Playerpicture
		{
			m_Player = Image.createImage( "playerbar.png" );
			//m_Player = Image.createImage( this.getClass().getResourceAsStream( "playerbar.png" ) );
		}
		catch( IOException e)
		{
			System.out.println( "**** Player couldn't be initialized: " + e );
		}		
	}

als fehlermeldung kommt dann
Running with storage root DefaultColorPhone
**** Player couldn't be initialized: java.io.IOException
Uncaught exception java/lang/NullPointerException: .
Execution completed.

wenn ich stattdessen
Code:
m_Player = Image.createImage( "/playerbar.png" );
schreibe, kommt die fehlermeldung
Uncaught exception java/lang/IllegalArgumentException: .
Execution completed.

wenn ich die auskommentierte version probiere kommt mit oder ohne slash die untere fehlermeldung.

Ich vermute mal, dass das Image an einer ganz bestimmten Stelle sein muss, damit es gefunden wird. Aber wo?
oder hab ich doch irgendwas im code falsch gemacht?
 

KSG9|sebastian

Top Contributor
Wie wär's wenn du nicht nur die Exception fängst sondern auch den Stacktrace ausgibst? Dann kriegst du vielleicht auch die Information wo das Bild liegen muss?
 

JeReT

Mitglied
Das wär ja super. kannst du mir auch sagen, wie ich sowas mache?
Weil mit Java programmiere ich noch nicht sonderlich lange...
 

Jockel

Top Contributor
catch( IOException e)
{
System.out.println( "**** Player couldn't be initialized: " + e );
e.printStackTrace();
}
 

KSG9|sebastian

Top Contributor
Code:
 private Image m_Player; 
   public PlayerBar(  ) 
   { 
      // ... 
          
      try // try to create Playerpicture 
      { 
         m_Player = Image.createImage( "playerbar.png" ); 
         //m_Player = Image.createImage( this.getClass().getResourceAsStream( "playerbar.png" ) ); 
      } 
      catch( IOException e) 
      { 
         System.out.println( "**** Player couldn't be initialized: " + e );
e.printStackTrace(); 
      }       
   }

so (e.printStackTrace()). Post mal die ganze Ausgabe.

Hast du mal überprüft ob die Images wirklich in der Jar liegen?

Gruß
 

JeReT

Mitglied
Das is ja einfacher als ich dachte...


also der stack trace sagt mir jetzt:
at javax.microedition.lcdui.ImmutableImage.getImageFromStream(+15)
at javax.microedition.lcdui.ImmutableImage.<init>(+20)
at javax.microedition.lcdui.Image.createImage(+8)
at gameobjects.PlayerBar.<init>(+42)
at Canvas.<init>(+14)
at _main.<init>(+12)
at java.lang.Class.runCustomCode(+0)
at com.sun.midp.midlet.MIDletState.createMIDlet(+19)
at com.sun.midp.midlet.Scheduler.schedule(+52)
at com.sun.midp.main.Main.runLocalClass(+28)
at com.sun.midp.main.Main.main(+116)
mein problem ist, dass ich leider nicht weiß, was er mir damit sagen will.

und das mit der .jar datei ist auch so ne Sache...
Ich hab schon danach gesucht, aber scheinbar erstellt der mir gar keine .jar datei.
Falls doch, dann aber nicht in der verzeichnisstruktur des projekts.
Die einzigen .jar files, die ich im projekt hab sind einige libraries...
 

KSG9|sebastian

Top Contributor
Das sit bestimmt nicht der komplette Stacktrace
Leg mal dein Image unter classes ab und versuch es mit Class#getResourceAsStream zu laden.
 

JeReT

Mitglied
Da hab ich das bild auch schon drinnen gehabt. Hat nix geholfen.

Aber ich bin grad drauf gekommen, wie ich theoretisch jarfiles erstellen kann.

(mit dem kToolbar ein projekt erstellen, die src und res files rein kopieren und builden)

Da kommt dann aber ne fehlermeldung mit der überschrift "Couldn't find JDK"

da drunter steht:
"In order to compile you need to use the full J2SE SDK.
In order to use this feature please install J2SE
SDK version 1.4 or later and reinstall the J2ME Wireless Toolkit."

Ich bin mir jetzt nicht sicher, ob ich dieses J2SE SDK hab... von Java hab ich soviele bausteine schon runtergeladen, dass ich langsam den überblick verliere... nya... aber scheinbar muss ich nochmal was installieren (geht mir langsam auf den keks, diese tausend installationen für eine sache).

Edit: Ich habs bei SUN mal gesucht: scheinbar gibts kein J2SE SDK. Oder Sun nennt es anders!?
 

JeReT

Mitglied
Hab jetzt endlich die Zeit gefunden, mir das J2SE SDK zu installieren und zu probieren, ob es jetzt geht. Die antwort lautet: Nein!

wenn ich es über die kToolbar starte, dann kommt genau die gleiche Fehlermeldung.

Weiß denn keiner, was ich tun muss, damit ich ein Image im Handy anzeigen lassen kann?
 
M

Mr. Nice Guy

Gast
Das gleiche Problem habe ich mit dem WTK2.2/2.5 Emulator auch. Aber wenn ich dsa Packet von Hand erstelle gehts auf dem Handy.

Ist echt komisch obwohl die die die Daten im root der Jar sind findet der Emulator die Daten nicht mit "/Daten.dat".

Kennt jemand das Problem mti dem Emulator? bzw den Ort wo man da was einstellen muss.
 

JimPanse

Bekanntes Mitglied
Bist du dir auch sicher dass das Image im root deines Projektes liegt????

Ich würd am Anfang immer den Pfad kontrollieren! Vielleicht liegt es in einem Ordner...
 

horschd77

Mitglied
Das Problem hab ich auch grad gehabt.
Bild ins res-Verzeichnis und beginnend mit nem slash (/) createn.

Bei mir hats so geklappt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Image dynamisch anhand von id in ImageView anpassen Android & Cross-Platform Mobile Apps 4
B Android ListView set custom check Image and delete Android & Cross-Platform Mobile Apps 0
D Grid Lists Image Gallery Android & Cross-Platform Mobile Apps 32
N Save Image to DB and set ImageView Android & Cross-Platform Mobile Apps 1
K Dynamische (Image)Buttons, Größe bestimmen Android & Cross-Platform Mobile Apps 4
M 20 Image Button für jede Auflösung positionieren Android & Cross-Platform Mobile Apps 3
D Java ME Image strecken und in beliebiger Gradzahl drehen Android & Cross-Platform Mobile Apps 3
J image j2me Android & Cross-Platform Mobile Apps 2
S Image Problem Android & Cross-Platform Mobile Apps 11
M ein image pixel für pixel aufbauen : setPixel() ? Android & Cross-Platform Mobile Apps 1
M PythonInterpreter funktioniert nicht richtig NoClassDefFoundError Android & Cross-Platform Mobile Apps 1
W Wie funktioniert das mit den Fingerabdruck Login? (Meinung) Android & Cross-Platform Mobile Apps 13
Besset Android http request an interne ip adresse funktioniert nicht Android & Cross-Platform Mobile Apps 8
J App funktioniert auf Android 5, auf 6 nicht Android & Cross-Platform Mobile Apps 2
L Android Android Studio - Exportierte APK funktioniert nicht Android & Cross-Platform Mobile Apps 6
L Android Methode funktioniert nicht unter Android Android & Cross-Platform Mobile Apps 3
J android Spinner funktioniert nicht Android & Cross-Platform Mobile Apps 14
K MediaPlayer Soundklasse Start und Stop (stop funktioniert nicht) Android & Cross-Platform Mobile Apps 1
K Wie funktioniert die App Fatbooth? Wie viel Bildbearbeitung bringt Android mit? Android & Cross-Platform Mobile Apps 1
S SPLIT funktion bei STRING funktioniert nicht! Android & Cross-Platform Mobile Apps 4
J Android SimpleDateFormat parser funktioniert nicht richtig? Android & Cross-Platform Mobile Apps 4
B Erste Android-App: setContentView(R.layout.main) funktioniert nicht Android & Cross-Platform Mobile Apps 6
N Android EditText.setError() funktioniert nicht nach Rotation Android & Cross-Platform Mobile Apps 1
D Android OnClickListener funktioniert auf LinearLayout nicht Android & Cross-Platform Mobile Apps 6
S Auflösungsanpassung funktioniert nicht Android & Cross-Platform Mobile Apps 2
E LayoutInflater funktioniert nicht Android & Cross-Platform Mobile Apps 2
A Fehler beim Starten eines Intents - alles in einer Klasse funktioniert... Android & Cross-Platform Mobile Apps 4
F Android: Socket.isConnected funktioniert nicht Android & Cross-Platform Mobile Apps 4
W Command funktioniert nicht Android & Cross-Platform Mobile Apps 5
X FileConnection - funktioniert bei mir nicht. Android & Cross-Platform Mobile Apps 7

Ähnliche Java Themen

Neue Themen


Oben