SORU
8 Temmuz 2009, ÇARŞAMBA


() Java Swing düzeltin vs çizilecek()

Ben sık sık bir JPanel içeriğini değiştirmek için istediğiniz bir Salıncak uygulama kuruyorum. Bunu yapmak için, removeAll() Benim yeni içerik ekleme, revalidate() Arama arıyorum.

Ancak eski içeriği hala aslında görünen (ama yeni içerik tarafından gizlenmiş) buluyorum. revalidate() ek olarak repaint() çağrı eklersem beklendiği gibi çalışır.

Diğer durumlarda revalidate() yeterli aramıştım bunu yaşadım eminim.

Temelde benim sorum her iki işlevi aramak gerekir - yani, zaman her çağırayım mı?

CEVAP
8 Temmuz 2009, ÇARŞAMBA


repaint() revalidate() aramalısın. Eski söyler Salıncak bu bölgede, pencere kirli (gerekli silmek için görüntü eski çocuklar tarafından kaldırıldı removeAll()); ikincisi söyler düzeni yöneticisi için yeniden düzeni (gerektiğinde ekleme bileşenleri). Bu nedençocuklaryeniden çizilecek panel ama panel kendisi bunu yapmak için neden olamaz (this çizilecek listesi tetikler.

Daha genel bir not: orijinal paneli yeniden yerine, yeni bir panel bina ve üst onları değiştirmeyi öneriyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Google

    Google

    18 EYLÜL 2005
  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009
  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007