/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Grafik på JPanel??
Fra : Poul Abildgaad


Dato : 18-02-01 11:04

Hej
Jeg er dybt frustreret over et problem med at tegne imageicons på et JPanel.
Min kode ser sådan ud cirka:

JPanel display = new JPanel();
JPanel basis = new JPanel();
ImageIcon icon = new ImageIcon("hest.gif");

constr{

JScrollPane pane = new JScrollPane(display);
basis.add(pane);
add(basis);
mere kode...
}

public void paint(Graphics g){
icon.paintIcon(display,g,xPos,yPos);
}

Problemer er at billedet bliver tegnet på basis og ikke på display-panelet,
som jeg ønsker. Hvordan får jeg tegnet billederne på display?

Mvh Poul



 
 
Monica (18-02-2001)
Kommentar
Fra : Monica


Dato : 18-02-01 13:09

Poul wrote:
>Jeg er dybt frustreret over et problem med at tegne imageicons på et
JPanel.
> Problemer er at billedet bliver tegnet på basis og ikke på
display-panelet,
> som jeg ønsker. Hvordan får jeg tegnet billederne på display?

Jeg har tidligere gjort det på følgende måde:

ImageIcon icon = new ImageIcon("images/duke.running.gif");//Kalder billedet

P4 = new JPanel();
P4.setLayout(new FlowLayout());
L2 = new JLabel(icon, JLabel.CENTER);//SÆTTER BILLEDE
P4.add(L2);
P2.add(P4, "Center");

Og billedet bliver vist fint.....måske du kan bruge det...?

/Monica.



Poul Abildgaad (18-02-2001)
Kommentar
Fra : Poul Abildgaad


Dato : 18-02-01 22:50

Tak, Monica.
Dit eksempel virker udmærket, men jeg skal nu bruge JPanel til at vise
forskellige indeksers bileldfiler, dvs. at panelet skal opdateres med nye
fotos gentagne gange. Og der kan jeg ikke få det til at virke med
panel.add(JLabel). Det virker, så vidt jeg kan se, kun når man initiere
programmet. Jeg kan heller ikke få jscrollpanet til at virke. Det sidder
fint rundt om panelet, men der sker ikek noget, selvom panelet ændrer
størrelse afhængigt af antal bilelder, der skal vises.

Har du en kode, der kan opdatere et jpanel og hver gang vise nye billeder?

Monica <monica@mail.ikasths.dk> wrote in message
news:5XOj6.496$2w6.3349@twister.sunsite.dk...

> Jeg har tidligere gjort det på følgende måde:
>
> ImageIcon icon = new ImageIcon("images/duke.running.gif");//Kalder
billedet
>
> P4 = new JPanel();
> P4.setLayout(new FlowLayout());
> L2 = new JLabel(icon, JLabel.CENTER);//SÆTTER BILLEDE
> P4.add(L2);
> P2.add(P4, "Center");
>
> Og billedet bliver vist fint.....måske du kan bruge det...?
>
> /Monica.
>
>



Ulrik Magnusson (18-02-2001)
Kommentar
Fra : Ulrik Magnusson


Dato : 18-02-01 23:30

> Dit eksempel virker udmærket, men jeg skal nu bruge JPanel til at vise
> forskellige indeksers bileldfiler, dvs. at panelet skal opdateres med nye
> fotos gentagne gange. Og der kan jeg ikke få det til at virke med
> panel.add(JLabel). Det virker, så vidt jeg kan se, kun når man initiere
> programmet. Jeg kan heller ikke få jscrollpanet til at virke. Det sidder
> fint rundt om panelet, men der sker ikek noget, selvom panelet ændrer
> størrelse afhængigt af antal bilelder, der skal vises.

Du kan evt. kigge på invalidate() og validate() metoderne, hvis du har
problemer
med at en Container ikke opdateres når du bruger add og remove.
Jeg ved ikke med resten..

Ulrik Magnusson

--
What the world needs now is programs that WORK, not ones that don't
work, but don't work 5% faster.
Roedy Green
Visit my home page: http://www.geocities.com/ulrikm



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste