Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 19:30 Der er 60 kommentarer og
2 løsninger

Hvorfor vises billedet ikke på knappen

Jeg har med følgende kode forsøgt at få vist et billede af typen JPEG på en knap men når frame køres vises billedet ikke på knappen ... er der en der kan sige hvorfor?

import java.awt.*;
import javax.swing.*;

public class Frame1 extends JFrame
{
  JButton jButton1 = new JButton();
  ImageIcon sd = new ImageIcon("Spar dame.JPEG");

  public Frame1()
  {
    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
  }
  private void jbInit() throws Exception
  {
    //jButton1.setText("jButton1");
    jButton1.setBounds(new Rectangle(108, 75, 192, 163));
    jButton1.setIcon(sd);
    this.getContentPane().setLayout(null);
    this.getContentPane().add(jButton1, null);

    java.awt.Dimension screenSize =
      java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    setSize(new Dimension(500, 520));
    setLocation((screenSize.width-300)/2,(screenSize.height-220)/2);
  }

  public static void main(String args[])
  {
    new Frame1().show();
  }
}
Avatar billede kalp Novice
06. marts 2005 - 19:34 #1
Spar dame.JPEG

måske du skal prøve uden mellemrum? altså også lige rette billedet navn til :)
Avatar billede _carsten Nybegynder
06. marts 2005 - 19:35 #2
Sådan

ImageIcon sd = new ImageIcon("C:\\et-eller-andet\\Spar dame.JPEG");
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 19:35 #3
hmmm .... det virker stadig ikke ....
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 19:37 #4
Det hjalp heller ikke (carsten)
Avatar billede _carsten Nybegynder
06. marts 2005 - 19:37 #5
Eller sådan, hvis jpeg ligger i samme dir

ImageIcon sd = new ImageIcon("getClass().getResource("/Spar dame.JPEG"));
Avatar billede _carsten Nybegynder
06. marts 2005 - 19:38 #6
Hov

ImageIcon sd = new ImageIcon(getClass().getResource("/Spar dame.JPEG"));
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 19:40 #7
så får jeg en nullpointerexception carsten
Avatar billede kalp Novice
06. marts 2005 - 19:42 #8
Denne kode virker i hvertfald

package mypackage;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;

public class Frame2 extends JFrame
{
  private JButton jButton1 = new JButton();
  private ImageIcon billede = new ImageIcon("aasdas.jpg");

  public Frame2()
  {
    try
    {
      jbInit();
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }

  }

  private void jbInit() throws Exception
  {
    jButton1.setIcon(billede);
    this.getContentPane().setLayout(null);
    this.setSize(new Dimension(400, 300));
    jButton1.setBounds(new Rectangle(75, 55, 180, 100));
    this.getContentPane().add(jButton1, null);
  }
}



og har billedet i samme mappe som projektet
Avatar billede _carsten Nybegynder
06. marts 2005 - 19:43 #9
Så ligger sparDame ikke i samme dir.

bruger du package navne ??
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 19:54 #10
Det gør den ikke her kalp ... er der forskel på jpg og JPEG?
Avatar billede kalp Novice
06. marts 2005 - 19:54 #11
ja
Avatar billede kalp Novice
06. marts 2005 - 19:55 #12
private ImageIcon billede = new ImageIcon("aasdas.jpeg");

her vil den ikke virke med mig... selv hvis jeg havde filen aasdas.jpg i samme mappe.. skal være aasdas.jpeg
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 19:56 #13
ja carsten projektet ligger i en package som hedder billedetest men det gør billedet også
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 19:57 #14
jamen det er også JPEG kalp det var i din kode der stod jpg
Avatar billede _carsten Nybegynder
06. marts 2005 - 19:57 #15
Så skal du have packagenavnet med

/packageMigHer/packageMigDer/Spar Dame.JPEG
Avatar billede _carsten Nybegynder
06. marts 2005 - 19:58 #16
Sorry - kunne jo lige så godt skrive det rigtigt

ImageIcon sd = new ImageIcon(getClass().getResource("/billedetest/Spar dame.JPEG"));
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 20:01 #17
ImageIcon sd = new ImageIcon("packagebilledetest/Spardame.JPEG"); virker heller ikke
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 20:02 #18
giver stadig nullpointerexception carsten
Avatar billede _carsten Nybegynder
06. marts 2005 - 20:11 #19
ImageIcon sd = new ImageIcon(getClass().getResource("/billedetest/Spar dame.JPEG"));

HUSK /billedetest  SKRÅSTREG foran billedetest
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 20:32 #20
ImageIcon sd = new ImageIcon(getClass().getResource("/billedetest/Spardame.JPEG"));

giver også nullpointerexception
Avatar billede _carsten Nybegynder
06. marts 2005 - 20:33 #21
Prøv lige at poste den fulde sti til mappen "billedetest" her og stien til Frame1
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 21:01 #22
C:\Documents and Settings\Mikkel Sommer\jbproject\billedetest

C:\Documents and Settings\Mikkel Sommer\jbproject\billedetest\Spardame.JPEG
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 21:01 #23
C:\Documents and Settings\Mikkel Sommer\jbproject\BilledeTest\src\billedetest\Frame1
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 21:02 #24
den første er selve projekt mappen ... den anden er stien til billedet og til sidst stien til framen
Avatar billede _carsten Nybegynder
06. marts 2005 - 21:13 #25
Nu kender jeg meget til JBuilder, men har den ikke en mappe hvor den smider class filerne ??

Måske her: C:\Documents and Settings\Mikkel Sommer\jbproject\BilledeTest\BUILD\CLASSES\billedetest\Frame1

ELLER

C:\Documents and Settings\Mikkel Sommer\jbproject\BilledeTest\BUILD\billedetest\Frame1

Spardame.JPEG skal samme sted som Frame1.class

Prøv evt. at søge efter filen Frame1.class
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 21:23 #26
Der ligger den også, tror jeg efter hånden har fået kopieret den ind i alle under mapper til projektet
Avatar billede mikkel_sommer Nybegynder
06. marts 2005 - 21:24 #27
det er her den lægger class filerne:
C:\Documents and Settings\Mikkel Sommer\jbproject\BilledeTest\classes\billedetest
Avatar billede _carsten Nybegynder
06. marts 2005 - 21:26 #28
Du har STORT "T" og "B" i BilledeTest, det skal du også have packagesnavnet

Sådan:
ImageIcon sd = new ImageIcon(getClass().getResource("/BilledeTest/Spardame.JPEG"));
Avatar billede _carsten Nybegynder
06. marts 2005 - 21:28 #29
Nej - det er mig der sludrer, du har jo 2 gange BilledeTest

Denne SKAL virke
ImageIcon sd = new ImageIcon(getClass().getResource("/billedetest/Spardame.JPEG"));
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 01:44 #30
Jamen det gør den desværre ikke ....
Avatar billede _carsten Nybegynder
07. marts 2005 - 08:48 #31
Så ligger der ikke noget billede.

Har du prøvet med den absolutte sti

new ImageIcon(C:\\Documents and Settings\\Mikkel Sommer\\jbproject\\BilledeTest\\classes\\billedetest\\Spardame.JPEG"));
Avatar billede kalp Novice
07. marts 2005 - 09:27 #32
Interessant at en så simpel ting kan være så besværlig:)
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 16:06 #33
med den absolutte sti får jeg ikke den sædvanlige nullpointerexception, men til gengæld får jeg stadig en blank knap
Avatar billede _carsten Nybegynder
07. marts 2005 - 17:03 #34
Og nu er Spardame et billede - ik !

Det er ikke bare en tom fil ??

Har du prøvet at vise SparDame i noget andet, explorer f. eks.
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 17:20 #35
ja jeg har ingen problemer med at få det vist i eksempelvis windows billede- og faxfremviser
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 17:22 #36
men kan godt nok ikke umiddelbart få den vist i explorer .... ????
Avatar billede _carsten Nybegynder
07. marts 2005 - 17:33 #37
Nej - men kan du se at det rent faktisk ER et billede ?
Avatar billede kalp Novice
07. marts 2005 - 18:47 #38
prøv at åbne det i simple paint...
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 19:04 #39
Ja det er et billede (har fundet det på nettet og gemt det ved at højre-klikke og vælge gem billede som...)

ingen problemer med at åbne det i paint....
Avatar billede kalp Novice
07. marts 2005 - 19:06 #40
kan du ikke gøre følgende..

Åbne det i paint... og sige gem som ... og vælge formattet jpg igen...
se om det gør en forskel og se om det evt. skulle virke i din browser nu også
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 19:11 #41
det har jeg gjort ... da jeg hentede det fik jeg det nemlig som bitmap
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 19:11 #42
men har også prøvet med forskellige andre billeder som jeg selv har taget og som ligger som JPEG
Avatar billede kalp Novice
07. marts 2005 - 19:14 #43
hvis det ikke er noget hemmeligt så send det lige til adasdasdasd@hotmail.com

så vil jeg se om det virker hos mig.
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 19:15 #44
altså billedet?
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 19:16 #45
eller hele projektet?
Avatar billede mikkel_sommer Nybegynder
07. marts 2005 - 19:20 #46
nu har jeg sendt billedet så må du sige til hvis du mente hele projektet
Avatar billede kalp Novice
07. marts 2005 - 19:31 #47
ser lige på det
Avatar billede kalp Novice
07. marts 2005 - 19:48 #48
Hold kæft et spøgelsesbillede!!! virker heller ikke her:o)
Avatar billede _carsten Nybegynder
07. marts 2005 - 19:56 #49
Har meget svært ved at tro på det - hvor på nettet kan jeg hente det billede ??
Avatar billede kalp Novice
07. marts 2005 - 20:02 #50
_carsten helt seriøst.. lagde billedet i samme folder som mit eget.. ændrede blot navnet og nu virker det ikke.. prøvede at sætte mit gamle billede tilbage igen.. og nu virker det heller ikke *G* har ikke lyst til at genstarte Jdev lige nu.. men interessant mystisk problem
Avatar billede kalp Novice
07. marts 2005 - 20:04 #51
Fik faktisk lige en exception da jeg lukkede programmet..

genstarte jdev og prøver igen.

Exception in thread main
java.lang.NullPointerException

    at javax.swing.SizeRequirements.calculateAlignedPositions(SizeRequirements.java:442)

    at javax.swing.SizeRequirements.calculateAlignedPositions(SizeRequirements.java:404)

    at javax.swing.OverlayLayout.layoutContainer(OverlayLayout.java:205)

    at java.awt.Container.layout(Container.java:1020)

    at java.awt.Container.doLayout(Container.java:1010)

    at java.awt.Container.validateTree(Container.java:1092)

    at java.awt.Container.validateTree(Container.java:1099)

    at java.awt.Container.validateTree(Container.java:1099)

    at java.awt.Container.validateTree(Container.java:1099)

    at java.awt.Container.validateTree(Container.java:1099)

    at java.awt.Container.validate(Container.java:1067)

    at java.awt.Window.show(Window.java:461)

    at java.awt.Component.show(Component.java:1133)

    at java.awt.Component.setVisible(Component.java:1088)

    at mypackage.Application2.<init>(Application2.java:32)

    at mypackage.Application2.main(Application2.java:50)
Avatar billede kalp Novice
07. marts 2005 - 20:13 #52
nu tror jeg begge dele virker hos mig igen.
Avatar billede kalp Novice
07. marts 2005 - 20:17 #53
løsningen for mig var at åbne filen i paint... vælge blyant og sætte en prik oppe i øverste hjørne.. bare en lille en og så gemme det som jpg igen.. sikre dig stien og alt det der så virker det.
Avatar billede kalp Novice
07. marts 2005 - 20:19 #54
okay undskyld spam.. men det virker også uden den prik nu!

Jeg undre mig over en ting.. fik filen i bmp format.. så er du sikker på den bliver gemg i jpg format?
Avatar billede mikkel_sommer Nybegynder
08. marts 2005 - 01:57 #55
okay og hvor præcis lagde du det kalp?
Avatar billede mikkel_sommer Nybegynder
09. marts 2005 - 01:45 #56
det er sku for sort det her ... nu virker det fordi jeg ændrede det fra "Spardame.JPEG" til "Spardam.jpg"
altså: ImageIcon sd = new ImageIcon(getClass().getResource("Spardame.jpg"));

ved ikke rigtig hvem af jer som har fortjent pointene mest for i har begge virkelig gjort noget for sagen men hvis den ene af jer smider et svar så opretter jeg et nyt spørgsmål til den anden med samme antal point
Avatar billede _carsten Nybegynder
09. marts 2005 - 07:45 #57
Ja - det var jo en kedelig en!

Jeg mener du kan forhøje point i samme spørgsmål, og derefter dele mellem de svar der er.
Avatar billede _carsten Nybegynder
09. marts 2005 - 07:45 #58
Svar
Avatar billede kalp Novice
09. marts 2005 - 08:54 #59
Hejsa:)

Jeg ligger et svar. Det letteste er at markere begge vores navne nede i venstre hjørne og trykke accepter:)
Avatar billede mikkel_sommer Nybegynder
09. marts 2005 - 14:44 #60
okay og mange tak for den ihærdige hjælp gutter
Avatar billede kalp Novice
09. marts 2005 - 14:48 #61
Selv tak:))
Avatar billede thomasfricke Juniormester
29. august 2010 - 14:29 #62
fil på server må ikke hedde bla.JPG men bla.jpg, ellers virker det ikke. (Min erfaring)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester