/ 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
haster - JScrollPane
Fra : Nikolaj


Dato : 10-12-00 23:02

som et sidste råb om hjælp tillader jeg mig at gentage lidt fra en mail jeg
har sendt en gang uden held.

Jeg opretter et JScrollPane der indeholder en JLabel med et billede i.
Resultatet er at jeg kan scrolle rundt i billedet.
Men når jeg opretter et JScrollPane med et JPanel i (som er større en
JScrollPane'et og indeholder knapper etc.) kan jeg ikke få lov til at
scrolle nogen steder.

Dvs. følgende virker fint, men prøver man at add'e et JPanel istedet for en
JLabel, kan man ikke scrolle. Hvorfor!!!

public class PanelWithScrollPane extends JPanel{
public PanelWithScrollPane() {
setLayout(new java.awt.BorderLayout());
Icon pic = new ImageIcon("c:/picture.jpg");
JLabel iconLabel = new JLabel(pic);
JScrollPane scrollPane = new JScrollPane();
scrollPane.getViewport().add(iconLabel);
this.add(scrollPane);
}
}

Jeg skal bruge det i en opgave, der snart skal afleveres, så jeg tager
desperat imod et hvert forsøg på hjælp.

Tak.

Nikolaj




 
 
Gerth Isaksen (11-12-2000)
Kommentar
Fra : Gerth Isaksen


Dato : 11-12-00 11:50


Nikolaj skrev i meddelelsen <910ukr$2a44$1@news.cybercity.dk>...

>Dvs. følgende virker fint, men prøver man at add'e et JPanel istedet for en
>JLabel, kan man ikke scrolle. Hvorfor!!!
>

Hej Nikolaj

Prøv at vise den kode, som du ikke kan få til at virke... Måske har jeg
misforstået dit problem, for følgende virker fx udmærket:

public PanelWithScrollPane()

setLayout(new java.awt.BorderLayout());
Icon pic = new ImageIcon("c:/picture.jpg");
JLabel iconLabel = new JLabel(pic);
JPanel jp = new JPanel(new BorderLayout());
jp.add(new JButton("Dum knap"), BorderLayout.NORTH);
jp.add(iconLabel, BorderLayout.CENTER);
JScrollPane scrollPane = new JScrollPane();
scrollPane.getViewport().add(jp);
this.add(scrollPane);
}




N/A (11-12-2000)
Kommentar
Fra : N/A


Dato : 11-12-00 15:26



Gerth Isaksen (11-12-2000)
Kommentar
Fra : Gerth Isaksen


Dato : 11-12-00 15:26


Nikolaj skrev i meddelelsen <912mvv$bso$1@news.cybercity.dk>...

>Her er noget kode, der ikke virker efter hensigten. Hvorfor forstår jeg
>ikke. Dit eksempel gør det hele endnu mere mystisk.
>

Du er tydeligvis rendt ind i et problem med layout-management. Prøv at
tvinge dit JPanel i en bestemt størrelse:

efter
> JPanel jp = new JPanel(null); // layout er null
> jp.setBounds(0,0,500,500);

Prøv så at indsætte

jp.setMinimumSize(new java.awt.Dimension(500,500));
jp.setPreferredSize(new java.awt.Dimension(500,500));
jp.setMaximumSize(new java.awt.Dimension(500,500));




N/A (12-12-2000)
Kommentar
Fra : N/A


Dato : 12-12-00 11:04



Gerth Isaksen (12-12-2000)
Kommentar
Fra : Gerth Isaksen


Dato : 12-12-00 11:04


Nikolaj skrev i meddelelsen <914qq4$30a5$1@news.cybercity.dk>...
>det var et godt forsøg, men det virker desværre stadig ikke..
>Jeg printer bounds ud til sidst efter at have vist framen og størrelsen på
>panelet er 500 x 500 som det skal være, men jeg kan stadig ikke få lov til
>at scrolle...
>Men tak for svaret, og hvis du har flere forslag, så hold dig ikke tilbage.
>Jeg VIL have det til at virke.

Hmm... ja, så er det snart mig, der er forvirret. Jeg har afprøvet dit
eksempel (med min tilføjelse), og det virker upåklageligt. Og det er vel den
samme stump kode, du har afprøvet det med?



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste