JFrame'in olduğu bir program yazıyorum ve tüm bileşenleri buradan kaldırmak istiyorum, daha sonra tek bir bileşen ekleyip çerçeveyi yeniden boyayın. Ne var bugüne kadar (startpanel Jpanel uygulayan JFrame uygulayan bir nesne, içinde adlandırılır) aşağıda kodu gibi bir şeydir: Ben kodu çalıştırdığınızda boş bir pencere (değil startpanel) gösterir, ancakJava'da JFrame'in tüm bileşenleri nasıl kaldırılır?
removeAll();
startPanel = new StartPanel();
startPanel.setVisible(true);
add(startPanel);
revalidate();
repaint();
ve pencereyi simge durumuna küçültme/yeniden boyutlandırdığımda, pencere siyah olur. removeAll()
'u terk edersem ve JFrame'de zaten bir öğe yoksa, startPanel'i iyi gösterir. Her şeyi gerçekten nasıl kaldıracağınıza dair herhangi bir fikir, ve sonra yeni paneli görünmeye devam edecek misiniz?
Bir kelimeyi güncellemek için thoes bileşenleri ekleyerek sonra doğrulamak sonra başka bir şey eklemek olduğunu varsayarak: [CardLayout] (http: // docs.oracle.com/javase/tutorial/uiswing/layout/card.html) –
@HovercraftFullOfEels işe yarayabilir, ancak el ile yapmanın başka bir yolu var mı? ve neden benim düşünmem gereken şekilde removeAll() çalışmıyor? Kodun diğer bölümlerinde farklı bileşenlerin bazı kombinasyonlarının olması gerekir (bir seferde sadece bir tane değil), bu yüzden bir CardLayout istemiyorum? – scaevity