Hej! Försök göra så här: Ciao Mirsad! Har du kollat om det blir några exceptions när du kör från din webserver? Ooops!JButton Problem med ImageIcon
Jag har ett pinsamt och fustrerande problem. Jag får ej min JButton att fungera med en ImageIcon på. Det funkar när jag kör apppletten lokalt på hårddisken, men ej när jag lägger ut den på nätet. Antar det är antingen svårighet att hitta filen eller säkerhetsproblem!
Jag har provat:
1)
<code>
JButton knapp;
.
.
.
URL url = null;
try{
url = new URL(getDocumentBase(), "3.jpg");
}
catch(Exception e)
{
e.printStackTrace();
}
ImageIcon aIcon = new ImageIcon(url);
knapp.setIcon(aIcon);
//.....men det fungerar ej! Jag har också provat:
</code>
2)
<code>
JButton knapp;
.
.
.
//på samma sätt fast:
URL imageURL = getClass().getClassLoader().getResource("3.jpg");
ImageIcon aIcon = new ImageIcon(imageURL);
//...men det fungerar ej...jag har oxå provat:
</code>
3)
<code>
knapp.setIcon(new ImageIcon(getImage(getCodeBase(), "3.jpg"));
//...det fungerar, fast enbart lokalt!
</code>
Vidare har jag provat att explicit ange URL:en till filen i URL-konstruktorn, samt skapa en jar-fil med bilden i (och ett archive-kommando i applet-taggen). Jag har alla filer (bildfil, applet och html) i samma directory. Både lokalt o på servern.
Varför fungerar det ej!? Vad måste jag göra?
Hälsningar,
/EkSv: JButton Problem med ImageIcon
<code>
JButton knapp;
.
.
.
URL imgUrl = DinKlass.class.getResource("3.jpg");
Image image3 = Toolkit.getDefaultToolkit().getImage(imgUrl);
knapp = new JButton(new ImageIcon(image3));
...
</code>
...där DinKlass är namnet på appletklassen. Hoppas det funkar!!!Sv: JButton Problem med ImageIcon
Har testat ditt tips..men det fungerar inte det heller! ):
Nån som har en clue?
mvh
/~ekSv: JButton Problem med ImageIcon
Sv: JButton Problem med ImageIcon
Nej, eftersom jag tvärsäkert "visste" att jag laddat upp alla class-filer. Vilket jag ju förstås inte hade...hmmm...Felet var helt enkelt att den saknade en classfil jag hade glömt att ladda upp. Klumpigt av mig att ej kolla stacktrace:n på en gång. Nu funkar alla ovanstående alternativ (; Men tack ändå för all hjälp!
mvh
~eK