Tekrar Doğrulama – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
Gereksiz Katmanlardan Kaçınma
Kodda temelde yanlış olan bir şey yok. Gayet iyi çalışacak. Ancak, burada gerekli olmayan fazladan bir katman eklenmiştir. Bu bölümün başından, içerik bölmesinin bir JPanel örneği olarak başlatıldığını hatırlayın. Bu panel hakkında özel bir şey yok ve onu kullanmakta özgürsünüz. Biraz önce incelediğimiz kod parçasının daha iyi bir uygulaması şöyle olurdu.
İçerik bölmesinin, bir JPanel olması gerekmeyen herhangi bir kapsayıcı olabileceğini akılda tutmak da önemlidir. İçerik bölmesini kaydırılabilir bir bölgeyle veya sekmeli bir bölmeyle doldurmak istiyorsanız, içerik bölmesini bir JScrollPane veya JTabbedPane ile değiştirebilirsiniz.
Makul bir kural, içerik bölmesine yalnızca tek bir bileşen ekleyecekseniz ve bunun tüm bölmeyi doldurmasını istiyorsanız, içerik bölmesine eklemeyin, değiştirin.
ContentPane başlangıçta BorderLayout ile bir JPanel olarak ayarlanırken, glassPane varsayılan (FlowLayout) düzen yöneticisiyle opak olmayan, görünmez bir JPanel olarak ayarlanır. JLayeredPane’in yeni bir örneği,layeredPane için varsayılan değerdir ve varsayılan olarak JMenuBar özelliği null olarak ayarlanmıştır. ContentPane, katmanlı bölmenin FRAME_CONTENT_LAYER’ı tarafından bulunur.
JMenuBar ve contentPane özellikleri için set() yöntemlerinin, bu bileşenleri JLayeredPane içine yerleştirmeyle ilgilendiğini unutmayın; bu nedenle, genellikle katmanlı bölme hakkında endişelenmeniz gerekmez.
Devralınan doubleBuffered özelliği varsayılan olarak doğrudur ve düzen varsayılan olarak korumalı iç sınıf RootLayout’un yeni bir örneğidir.
defaultButton özelliği, Bölüm 5’te tanıtıldı. Bu özellik, bir JButton’un kapsayıcı için varsayılan olarak belirtilmesine izin verir.
Varsayılan düğme, bölme odağa sahipken kullanıcı “enter” (veya başka bir UI-tanımlı tuşa) basarsa “basılacak” düğmedir (anahtarı JTextField gibi başka bir odaklanmış bileşen işlemediği sürece). Bu, bir kullanıcıya görüntülenmesi ve onaylanması gereken bilgileri sunarken çok kullanışlı bir özelliktir çünkü kullanıcının fareyi kullanmak zorunda kalmasını engeller.
Tekrar Doğrulama
Son özellik,validaRoot özelliğini listeledi. JRootPane, true değerini döndürmek için isValidateRoot() öğesini geçersiz kılar. Bu, alt öğelerinden veya alt türlerinden biri üzerinde herhangi bir revalidate() çağrısının sonucu olarak kapsayıcının doğrulanmasına (içeriğinin yeniden görüntüleneceği anlamına gelir) neden olur. Bu, dinamik olarak değişen bileşenlerle uğraşma sürecini basitleştirir.
Daha önce, bir bileşenin yazı tipi boyutu (örneğin) değişirse, bileşenin uygun şekilde yeniden boyutlandırılmasını sağlamak için bileşende geçersiz kılma() işlevini ve ardından kapsayıcısında doğrulama() işlevini çağırmanız gerekiyordu. revalidate() kullanılarak yalnızca bir çağrı gereklidir.
Ayrıca, revalidate()’in uygulanma şekli birden çok revalidate() çağrısının aynı anda işlenmesine izin verir, tıpkı birden çok repaint() çağrısının AWT tarafından aynı anda işlenmesi gibidir.
Bu örnekte, tek bir düğme oluşturuyoruz ve onu bir JFrame’in (JRootPane kullanan) içerik bölmesine ekliyoruz. Butona her tıklandığında butonun font boyutunu büyütüyoruz. Sonuç olarak, daha büyük etiketi yerleştirmek için düğmenin yeniden boyutlandırılması gerekir.
Bunu gerçekleştirmek için düğme üzerinde revalidate() işlevini çağırmamız yeterlidir. Düğmenin, kök bölmesinin altındaki herhangi bir sayıda başka kabın içine yerleştirilmiş olabileceğini ve bunun yine de düzgün çalışacağını unutmayın. Yeniden doğrulanan bileşenin isValidateRoot() işlevine true döndüren bir atası olduğu sürece, kapsayıcı doğrulanacaktır.
JRootPane için varsayılan düzen yöneticisi. Cam bölmeyi tüm bölmeyi kaplayacak şekilde yerleştirir (unutmayın, cam bölme genellikle opak olmamalıdır). Ayrıca, teknik olarak katmanlı bölmenin parçası olmalarına rağmen, menü çubuğunu (ayarlanmışsa) bölmenin üstüne yerleştirerek, içerik bölmesi hemen altına gelecek şekilde menü çubuğunu ve içerik bölmesini düzenler.
Java indir
Java applet eklentisi indir
Java etkinleştirme
Java doğrulama
Java Denetim Masası
Java çalışmıyor
Java Sürümü doğrulama
Windows 10 Java çalışmıyor
Kök Bölmesi Arayüzü
Daha önce de belirttiğimiz gibi, üst düzey Swing kapsayıcılarının tümü, tek alt bileşeni olarak JRootPane sınıfını kullanır. Bu kapsayıcılarla çalışmayı kolaylaştırmak için Swing, her birinin uyguladığı ortak bir arabirim sağlar.
Bu arabirim, RootPaneContainer, JRootPane’de bulunan ortak özelliklere ve ayrıca kök bölmesinin kendisine erişmek için yöntemler tanımlar. Önceki bölümde anlattığımız kısayollara izin veren şey budur.
Bu arabirimi uygulayan sınıflar, genellikle yöntemleri içerdikleri JRootPane’e devreder. Örneğin, getContentPane() şu şekilde uygulanır.
Bu arabirim, tamamen JRootPane için erişimcilerden ve gösterilen özelliklerden oluşur. Kök bölmenin JMenuBar’ının bu arabirimde bulunmadığına dikkat edin. Bunun nedeni, belirli kapların (özellikle JWindow) tipik olarak menü içermemesidir. Bu, gerçekten isterseniz kullanamayacağınız anlamına gelmez (ona JRootPane’den erişerek), ancak menü çubuğuna erişim arayüz tarafından doğrudan desteklenmez.
JRootPane, doğrudan pek fazla kullanmasa da, JLayeredPane adlı bir sınıf tanıttı. JLayeredPane, bileşenlerini katmanlar aracılığıyla yöneten bir kaptır, böylece üst katmanlardaki bileşenler alt katmanlardaki bileşenlerin üstüne boyanır. Bu size AWT ile elde edilmesi zor olan bir şey verir: hangi bileşenlerin üstüne boyandığı ve hangilerinin gizlendiği üzerinde tam kontrol sağlar.
Bu örnekte, bir JLayeredPane’e üç renkli düğme ekliyoruz. Üstteki düğme 3. katmana, ortadaki düğme 2. katmana ve alttaki düğme 1. katmana yerleştirilir.
Component.add() yönteminin bir Nesneyi ikinci parametre olarak aldığını hatırlayın, bu nedenle katmanları tanımlamak için yalnızca int’leri iletmek yerine Tamsayı nesneleri oluşturmamız gerekir. Bu örneği çalıştırdığımızda, siyah butonun (katman 1) üzerine çizilen gri butonun (2. katmanda) üzerine beyaz butonun (en yüksek katmana sahip olan—3) çizildiğini görüyoruz. Düğmelerin eklenme sırasının bir önemi yoktur.
Katmanlar için kullanılan gerçek değerler önemli değildir, yalnızca göreceli sıralamaları önemlidir. 10, 20 ve 30’u katman değerleri kadar kolaylıkla kullanabilirdik.
JLayeredPane, listelenen özellikler için varsayılan değerleri tanımlar. Layout özelliği, varsayılan olarak null olarak ayarlanmıştır. Bu, bölmenin katmanları, her biri belirli bir katmanın düzenini yöneten kaplar olduğunda veya her katmana yalnızca tek bir bileşen eklendiğinde iyi çalışır.
Bununla birlikte, tek bir katmana birden çok bileşen eklenirse, bunlar düzen yöneticisi olmadan düzenlenir. Bu nedenle, JRootPane bölümünde açıklanan RootLayout sınıfı, katmanlı bölmesinin tek bir katmanına eklediği bileşenleri açıkça düzenler.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)