Swing ekranında CardLayout'ta kartlar arasında nasıl geçiş yapılır
Güvenilir bir salıncak ekranı tedarikçisi olarak, genellikle salıncak uygulamalarının kullanıcı deneyimini optimize etmek isteyen müşterilerle karşılaşıyorum. Yaygın bir gereksinim, tek bir kap içinde farklı görünümler veya "kartlar" arasında geçiş yapma yeteneğidir. Java Swing'deki CardLayout sınıfının işe yaradığı yer burası. Bu blog gönderisinde, bir salıncak ekranında kartlar arasında geçiş yapmak için CardLayout'u kullanma işleminde size yol göstererek yol boyunca pratik örnekler ve ipuçları sunacağım.
CardLayout'u Anlamak
CardLayout, Java Swing'de tek bir kap içinde birden fazla bileşeni (kart) yönetmenizi sağlayan bir düzen yöneticisidir. Bir seferde yalnızca bir kart görünür ve CardLayout sınıfı tarafından sağlanan çeşitli yöntemleri kullanarak kartlar arasında geçiş yapabilirsiniz. Bu, sihirbazlar, sekmeli arayüzler veya kullanıcı eylemlerine dayalı farklı görünümler görüntülemeniz gereken herhangi bir uygulama oluşturmak için kullanışlıdır.
CardLayout'u kullanmak için, önce bir örneği oluşturmanız ve bir kapsayıcı için Düzen Yöneticisi olarak ayarlamanız gerekir. İşte basit bir örnek:
ithal javax.swing.*; ithal java.awt.*; public class cardLayoutExample {public static void main (String [] args) {jframe frame = new jframe ("cardLayout örneği"); frame.setDefaultCloseOpation (jframe.exit_on_close); // CardLayout ile bir jpanel oluşturun JPanel CardPanel = Yeni JPanel (New CardLayout ()); // Bazı kartlar oluştur (jpanels) JPanel Card1 = new JPanel (); card1.add (yeni Jlabel ("Bu kart 1")); JPanel Card2 = yeni JPanel (); Card2.add (yeni JLabel ("Bu kart 2"); // Kartları CardPanel.Add adıyla CardPanel'e ekleyin (Card1, "Card1"); CardPanel.Add (Card2, "Card2"); // Kartpanel'i çerçeveye ekleyin. frame.pack (); Frame.setvisible (true); }}
Bu örnekte, bir JFrame ve CardLayout'lu bir JPanel oluşturuyoruz. Daha sonra iki kart (JPanels) oluşturuyoruz ve bunları benzersiz bir adla kartpanele ekliyoruz. Son olarak, kartı çerçeveye ekliyoruz ve görünür hale getiriyoruz. Varsayılan olarak, konteynere eklenen ilk kart görünür olacaktır.
Kartlar arasında geçiş yapmak
Artık CardLayout hakkında temel bir anlayışa sahip olduğumuza göre, kartlar arasında nasıl geçileceğine bakalım. CardLayout sınıfı bu amaç için çeşitli yöntemler sağlar:
İlk (konteyner ebeveyn): Konteynerdeki ilk kartı gösterir.Son (Konteyner Ebeveyn): Konteynerdeki son kartı gösterir.Sonraki (Konteyner Ebeveyn): Konteynerdeki bir sonraki kartı gösterir. Mevcut kart sonundaysa, ilk karta sarılır.Önceki (Konteyner Ebeveyn): Konteynerdeki önceki kartı gösterir. Mevcut kart ilk ise, son karta sarılır.Gösteri (konteyner ebeveyni, dize adı): Kartı belirtilen adla gösterir.
Önceki örneğimizi kartlar arasında geçiş yapmak için düğmeler ekleyerek değiştirelim:
ithal javax.swing.*; ithal java.awt.*; ithal java.awt.event.ActionEvent; ithal java.awt.event.actionListener; public class cardLayoutExpampleWithButtons {public static void main (String [] args) {jframe frame = new jframe ("düğmelerli cardLayout örneği"); frame.setDefaultCloseOpation (jframe.exit_on_close); // CardLayout ile bir jpanel oluşturun JPanel CardPanel = Yeni JPanel (New CardLayout ()); // Bazı kartlar oluştur (jpanels) JPanel Card1 = new JPanel (); card1.add (yeni Jlabel ("Bu kart 1")); JPanel Card2 = yeni JPanel (); Card2.add (yeni JLabel ("Bu kart 2"); // Kartları CardPanel.Add adıyla CardPanel'e ekleyin (Card1, "Card1"); CardPanel.Add (Card2, "Card2"); // Kartları değiştirmek için düğmeler oluşturun JButton NextButton = Yeni JButton ("Next"); JButton Prevbutton = yeni JButton ("Önceki"); // cardLayout örneğini alın final cardLayout cardLayout = (cardLayout) cardPanel.getLayout (); // NextButton.adDActionListener düğmelerine eylem dinleyicileri ekleyin (new ActionListener () {@Override public void actionperted (actionEvent E) {cardLayout.next (cardPanel);}}); Prevbutton.adDActionListener (new ActionListener () {@Override Public Void ActionPericed (ActionEvent E) {CardLayout.PreVious (CardPanel);}}); // JPanel düğmeleri için bir panel oluşturun buttonpanel = new jpanel (); buttonpanel.add (prevbutton); buttonpanel.add (nextButton); // Kardpanel ve buttonpanel'i çerçeveye ekleyin. frame.add (buttonpanel, borderLayout.south); frame.pack (); Frame.setvisible (true); }}
Bu örnekte, kartlar arasında geçiş yapmak için iki düğme oluşturuyoruz: "Sonraki" ve "Önceki". Daha sonra CardPanel'den CardLayout örneğini alırız ve düğmelere aksiyon dinleyicileri ekleriz. "Bir sonraki" düğmesi tıklandığında,SonrakiBir sonraki kartı göstermek için CardLayout'un yöntemi çağrılır. Benzer şekilde, "önceki" düğme tıklandığında,öncesiÖnceki kartı göstermek için yöntem çağrılır.
Pratik uygulamalar
CardLayout kullanarak kartlar arasında geçiş yapabilme, salıncak uygulamalarında birçok pratik uygulamaya sahiptir. İşte birkaç örnek:
- Sihirbaz: Sihirbazlar, kullanıcılara çok aşamalı bir işlemle rehberlik etmek için kullanılan yaygın bir kullanıcı arayüzü modelidir. Sihirbazın farklı adımlarını ayrı kartlar olarak görüntülemek için CardLayout'u kullanabilir ve kullanıcıların kolayca ileriye ve geriye doğru ilerlemelerine olanak tanıyabilirsiniz.
- Sekme arayüzleri: Sekretli arabirimler, kullanıcıların farklı görünümler veya sayfalar arasında geçiş yapabileceği bir başka popüler kullanıcı arayüzü modelidir. Kullanıcının sekmesi seçimine göre farklı kartlar göstererek basit bir sekme arayüzü uygulamak için CardLayout'u kullanabilirsiniz.
- Dinamik içerik: CardLayout, kullanıcı eylemlerine veya olaylarına dayalı dinamik içeriği görüntülemek için de kullanılabilir. Örneğin, kullanıcının girişine veya uygulamanın durumuna bağlı olarak farklı kartlar gösterebilirsiniz.
Hamur ve kağıt endüstrisindeki ilgili ekipman
Swing Screen Technology'deki uzmanlığımıza ek olarak, hamur ve kağıt endüstrisi için bir dizi yüksek kaliteli ekipman da sunuyoruz. İşte bazı ürünlerimiz:


- Vida: Bir vida bölümü, hamur ve kağıt endüstrisinde, hamur üretmek için ahşap cipsi pişirmek için kullanılan önemli bir ekipman parçasıdır. Vida sindiricilerimiz yüksek verimlilik ve güvenilirlik için tasarlanmıştır.
- Kemer Konveyör Hamuru ve Kağıt: Kemer konveyörleri, bir üretim tesisindeki hamur ve kağıt ürünleri taşımak için kullanılır. Kemer konveyörlerimiz, kağıt hamuru ve kağıt endüstrisinin sert koşullarına dayanacak şekilde üretilmiştir.
- Şaftsız vidalı konveyör: Şaftsız vidalı konveyörler, hamur gibi yapışkan veya lifli malzemeleri işlemek için idealdir. Şaftsız vidalı konveyörlerimiz kolay bakım ve uzun servis ömrü için tasarlanmıştır.
Çözüm
Sonuç olarak, CardLayout, Java Swing'de tek bir kap içinde farklı görünümler veya kartlar arasında geçiş yapmanızı sağlayan güçlü bir düzen yöneticisidir. CardLayout'u kullanarak daha dinamik ve kullanıcı dostu salıncak uygulamaları oluşturabilirsiniz. İster bir sihirbaz, ister sekmeli bir arayüz veya görünümler arasında geçiş gerektiren başka bir uygulama olsun, CardLayout mükemmel bir seçimdir.
Swing ekran ürünlerimiz veya kağıt hamuru ve kağıt endüstrisi için ekipmanlarımız hakkında daha fazla bilgi edinmek istiyorsanız, lütfen bir tedarik tartışması için bizimle iletişime geçmekten çekinmeyin. Yüksek kaliteli ürünler ve mükemmel müşteri hizmeti sunmaya kararlıyız.
Referanslar
- "Java Öğreticileri: CardLayout'u Kullanma." Oracle, https://docs.oracle.com/javase/tutorial/uiswing/layout/card.html.
- "Java Swing: Yeni Başlayanlar Rehberi." Herbert Schildt, McGraw-Hill Education, 2014.
