Avatar billede 5floor Nybegynder
20. august 2003 - 14:46 Der er 15 kommentarer og
2 løsninger

Indsættelse af billed-fil i GUI

Hej.
Jeg har brug for at indsætte et billede i en GUI.
Kan ikke huske/finde koden til at gøre sådan, nogen der kan hjælpe mig???

På forhånd tak

Mads
Avatar billede arne_v Ekspert
20. august 2003 - 14:49 #1
Tit bruger man ImageIcon.
Avatar billede simonvalter Praktikant
20. august 2003 - 14:50 #2
Avatar billede _carsten Nybegynder
20. august 2003 - 14:52 #3
minLabel.setIcon(new javax.swing.ImageIcon(STIEN_TIL_BILLEDE));
Avatar billede 5floor Nybegynder
20. august 2003 - 15:31 #4
jeg er lidt i tvivl om hvordan jeg skal indsætte det i min kode.
Jeg har bygget min GUI op med et GridLayout. Inde i dette opretter jeg en række JPanels, hvormed jeg sætter JTextArea, JButtons mv.

et ex: her er øverste del ud af 3 i min GUI. Nedesnmtsående er en del af det der står øverst venstre, billedet skal gerne stå øverst højre...

....... 
    cp.add(panel1);

    panel1.add(panel11);
    panel11.add(panel111);

    panel11.add(panel112);
    panel112.add(new JLabel("Indtast OrdreNr"));

.......... osv
Avatar billede _carsten Nybegynder
20. august 2003 - 15:45 #5
På samme måde som viser i dit eksempel, hvis jeg forstår dig korrekt.

panel112.add(new JLabel("Indtast OrdreNr",
                        new javax.swing.ImageIcon(STIEN_TIL_BILLEDE),
                        javax.swing.JLabel.RIGHT);
Avatar billede _carsten Nybegynder
21. august 2003 - 08:18 #6
Er du med på den, eller er du på den ????
Avatar billede 5floor Nybegynder
21. august 2003 - 16:07 #7
Jeg  er desværre på den ;-)
Kan ikke få det til at virke. Den vil sagtens afvikle koden og vise GUI'en (du mangler lige en ') men den viser ikke billedet???
Jeg skriver:
panel11.add(panel115);
panel115.add(new JLabel(new javax.swing.ImageIcon("01.gif"),javax.swing.JLabel.RIGHT));

Hvor panel115 er defineret uden for konstruktøren som:

private JPanel panel115 = new JPanel(new FlowLayout (FlowLayout.RIGHT, 40,0));

HELP ;-)

Mads
Avatar billede _carsten Nybegynder
21. august 2003 - 16:35 #8
Du skal skrive HELE stien til dit billede !

Og denne "javax.swing.JLabel.RIGHT" behøver du ikke når din label
ikke har nogen tekst.
Avatar billede _carsten Nybegynder
21. august 2003 - 16:43 #9
Alternativt, kan du gøre gøre følgende:

String billedSti = "";
       
        java.io.File f = new java.io.File(".");
        try{
            billedSti = f.getCanonicalPath() + "01.gif";
        }
        catch(java.io.IOException oi){
            oi.printStackTrace();
        }

        panel115.add(new JLabel( new javax.swing.ImageIcon(billedSti) ));
Avatar billede 5floor Nybegynder
21. august 2003 - 17:12 #10
Hej Carsten.
Løsnng 1: Når jeg skriver hele stien, da brokker den siger over brugen af \'er...den melder "illegal escape characater".
Dette er sat ind: ("C:\Documents and Settings\Mads&Sofie\jbproject\OrdreGUI\src\ordregui\01.jpg")

Løsning 2: Hvor skal jeg indsætte stien til billedet? VIl den ikke komme med den smme fejlmeddelse...altså at jeg ikke må bruge \'er

PS: Har kastet nogle flere point ind i kampen,,,der er flere hvor de kommer fra ;-).
Jeg er meget taknemmelig for Jeres hjælp, især til dig Carsten.

MvH

Mads
Avatar billede arne_v Ekspert
21. august 2003 - 17:15 #11
Du skal fordoble backslasher.

Ikke \ men \\.
Avatar billede _carsten Nybegynder
21. august 2003 - 17:15 #12
Sådan - du skal hava dobblet backslash, ellers tror compileren det er en
af escape karaktererne.

("C:\\Documents and Settings\\Mads&Sofie\\jbproject\\OrdreGUI\\src\\ordregui\\01.jpg")
Avatar billede _carsten Nybegynder
21. august 2003 - 17:21 #13
Løsning 2.

Nej - du får ikke det problem, den laver '\' om til '\\'
så det glider helt af sig selv

Du indsætter det eksempelvis i constructoren for din klasse !
Avatar billede 5floor Nybegynder
21. august 2003 - 17:22 #14
Yes, x100000 tak skal I have,,,,nu virker det...Perfekt.
Arne V vil du ikke afgive et svar så jeg kan tildele dig point.
Carsten, mange tak for hjælpen, det er jeg meget glad for. Du får dine point når Arne lige lægger et svar.

....kaster nogle flere i puljen. Tak Tak Tak Tak Tak
Avatar billede arne_v Ekspert
21. august 2003 - 17:24 #15
svar

(men jeg synes faktisk at Carsten har lavet hele arbejdet)
Avatar billede arne_v Ekspert
21. august 2003 - 17:27 #16
Iøvrigt ville jeg bruge System.getProperty("user.dir") til at finde current
directory med og ikke den File(".") getCanonicalPath() ...
Avatar billede 5floor Nybegynder
21. august 2003 - 17:40 #17
Arne: Ja, Carsten har hjulpet mig meget, men jeg værdsætter selvfølgelig også din deltagelse, no doubt.
Jeg bruger den første løsning med ImageIcon, ellers tak...prøver nok lige din løsning også.

Carsten: 60
Arne  : 20

Tak for hjælpen

Mads
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