Avatar billede nielsenmathias Nybegynder
13. september 2007 - 11:30 Der er 1 løsning

Java JScrollPane flimrer!

Hejsa.

Jeg har en JInternalFrame på en JDesktopPane. I den interne frame har jeg en JScrollPane indeholdende et JPanel.

For at teste at scrollpanen virker har jeg sat den til at blive større når jeg klikker med musen. Det virker: JPanel bliver større og der kommer scrollbars til syne.

Mit problem er at indholdet (fx baggrunden) på mit JPanel ikke bliver opdateret når jeg så hiver i en scrollbar! Istedet tager den noget af baggrunden fra resten af skærmen og bruger som baggrund!

jeg har skrevet følgende kode for at redde det:
scroller.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener()
{
    public void adjustmentValueChanged(AdjustmentEvent e)
    {
        internalFrame.repaint();
    }
});  - og samme med horizontal scrollbar.
Det virker næsten...nu er der kun lidt "flicker" når jeg trækker hurtigt, dog er jeg stadig ikke helt tilfreds. Har prøvet at kalde repaint på mine andre komponenter....det hjælper ikke.

Nogen ideer?

PS. har baseret min kode på javas tutorial Scrolldemo2 der linkes til her:
http://java.sun.com/docs/books/tutorial/uiswing/components/scrollpane.html
Den virker naturligvis uden flicker, men de bruger heller ikke internal-frames.
Avatar billede nielsenmathias Nybegynder
13. september 2007 - 11:35 #1
lol
svaret var setOpaque(false) på mit JPanel. Underligt.
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