SWING - Hızlı Kılavuz
Swing API, geliştiricinin JAVA tabanlı Ön Uç / GUI Uygulamaları oluşturmak için hayatını kolaylaştıran bir dizi genişletilebilir GUI Bileşenidir. AWT API'nin üzerine inşa edilmiştir ve AWT kontrollerine karşılık gelen hemen hemen her kontrole sahip olduğu için AWT API'nin yerini alır. Swing bileşeni, aşağıdaki kriterleri yerine getirmek için bir Model-View-Controller mimarisini takip eder.
Tek bir API, birden fazla görünümü ve hissi desteklemek için yeterli olmalıdır.
API, en yüksek seviyedeki API'nin veriye sahip olması gerekmeyecek şekilde model güdümlü olacaktır.
API, Builder Tools ve IDE'nin geliştiricilere kullanım için daha iyi hizmetler sunabilmesi için Java Bean modelini kullanmaktır.
MVC Mimarisi
Swing API mimarisi, aşağıdaki şekilde gevşek tabanlı MVC mimarisini takip eder.
Model, bileşenin verilerini temsil eder.
Görünüm, bileşen verilerinin görsel temsilini temsil eder.
Denetleyici, görünümdeki kullanıcıdan girdiyi alır ve Bileşen verilerindeki değişiklikleri yansıtır.
Döndürme bileşeninde ayrı bir öğe olarak Model bulunurken, Görünüm ve Denetleyici bölümü Kullanıcı Arabirimi öğelerinde belirtilmiştir. Bu nedenle Swing, takılabilir bir görünüm ve his mimarisine sahiptir.
Salıncak Özellikleri
Light Weight - Swing API kontrolleri temelde yatan işletim sistemi çağrıları yerine çoğunlukla saf JAVA kodu kullanılarak işlendiğinden, Swing bileşenleri yerel İşletim Sisteminin API'sinden bağımsızdır.
Rich Controls - Swing; Ağaç, TabbedPane, kaydırıcı, renk seçici ve tablo kontrolleri gibi zengin bir gelişmiş kontrol seti sağlar.
Highly Customizable - Görsel görünüm dahili sunumdan bağımsız olduğu için salıncak kontrolleri çok kolay bir şekilde özelleştirilebilir.
Pluggable look-and-feel - SWING tabanlı GUI Uygulama görünümü ve hissi, mevcut değerlere bağlı olarak çalışma zamanında değiştirilebilir.
Bu bölüm, makinenize Java'yı nasıl indireceğiniz ve kuracağınız konusunda size yol gösterir. Ortamı kurmak için lütfen aşağıdaki adımları kullanın.
Java SE, Java İndirme bağlantısından ücretsiz olarak edinilebilir . Bu nedenle, işletim sisteminize bağlı olarak bir sürüm indirebilirsiniz.
Java'yı indirmek için talimatları izleyin ve .exeMakinenize Java yüklemek için. Java'yı makinenize yükledikten sonra, ortam değişkenlerini doğru yükleme dizinlerini gösterecek şekilde ayarlamanız gerekir.
Windows 2000 / XP için Yolu Ayarlama
Java'yı şuraya yüklediğinizi varsayarsak c:\Program Files\java\jdk dizin -
Step 1 - "Bilgisayarım" ı sağ tıklayın ve "Özellikler" i seçin.
Step 2 - "Gelişmiş" sekmesinin altındaki "Ortam değişkenleri" düğmesini tıklayın.
Step 3- 'Yol' değişkenini, aynı zamanda Java yürütülebilir dosyasının yolunu da içerecek şekilde değiştirin. Örneğin, yol şu anda şu şekilde ayarlanmışsa'C:\WINDOWS\SYSTEM32', sonra okuma yolunu değiştir 'C:\WINDOWS\SYSTEM32;c:\Program Files\java\jdk\bin'.
Windows 95/98 / ME için Yolu Ayarlama
Java'yı şuraya yüklediğinizi varsayarsak c:\Program Files\java\jdk dizin -
Step 1 - Düzenleyin 'C:\autoexec.bat' dosyasını açın ve sonuna aşağıdaki satırı ekleyin: 'SET PATH=%PATH%;C:\Program Files\java\jdk\bin'.
Linux, UNIX, Solaris, FreeBSD için Yol Ayarlama
PATH ortam değişkeni, Java ikili dosyalarının kurulu olduğu yeri gösterecek şekilde ayarlanmalıdır. Bunu yapmakta sorun yaşıyorsanız Shell belgelerinize bakın.
Örnek, kullanıyorsanız bash kabuğunuz olarak, sonuna aşağıdaki satırı eklersiniz '.bashrc: export PATH=/path/to/java:$PATH'.
Popüler Java Editörleri
Java programlarınızı yazmak için bir metin düzenleyiciye ihtiyacınız olacak. Piyasada daha da sofistike IDE mevcuttur. Ancak şimdilik aşağıdakilerden birini düşünebilirsiniz -
Notepad - Windows makinesinde, Not Defteri (Bu eğitim için önerilir), TextPad gibi herhangi bir basit metin düzenleyiciyi kullanabilirsiniz.
Netbeans - Netbeans, açık kaynak kodlu ve ücretsiz bir Java IDE'dir ve şu adresten indirilebilir: https://www.netbeans.org/index.html.
Eclipse - Eclipse ayrıca Eclipse açık kaynak topluluğu tarafından geliştirilen bir Java IDE'dir ve şu adresten indirilebilir: https://www.eclipse.org/.
Her kullanıcı arayüzü aşağıdaki üç ana hususu dikkate alır:
UI Elements- Bunlar, kullanıcının sonunda gördüğü ve etkileşim kurduğu temel görsel öğelerdir. GWT, bu eğitimde ele alacağımız, temelden karmaşığa değişen yaygın olarak kullanılan ve yaygın öğelerin büyük bir listesini sağlar.
Layouts- UI öğelerinin ekranda nasıl düzenleneceğini tanımlarlar ve GUI'ye (Grafik Kullanıcı Arayüzü) son bir görünüm ve his sağlarlar. Bu kısım, Düzen bölümünde ele alınacaktır.
Behavior- Bunlar, kullanıcı UI öğeleriyle etkileşime girdiğinde meydana gelen olaylardır. Bu kısım, Olay İşleme bölümünde ele alınacaktır.
Her SWING kontrolü, aşağıdaki Bileşen sınıfı hiearchy'den özellikleri miras alır.
S.No. | Sınıf ve Açıklama |
---|---|
1 | Bileşen Bir Bileşen, SWING'in menü dışı kullanıcı arayüzü kontrolleri için soyut temel sınıftır. Bileşen, grafik gösterimi olan bir nesneyi temsil eder |
2 | Konteyner Konteyner, diğer SWING bileşenlerini içerebilen bir bileşendir |
3 | JComponent JComponent, tüm SWING UI bileşenleri için temel bir sınıftır. JComponent'ten devralan bir SWING bileşenini kullanmak için, bileşenin kökü üst düzey bir SWING konteyneri olan bir muhafaza hiyerarşisinde olması gerekir. |
SWING UI Öğeleri
SWING kullanarak GUI tasarlarken yaygın olarak kullanılan kontrollerin listesi aşağıdadır.
S.No. | Sınıf ve Açıklama |
---|---|
1 | JLabel JLabel nesnesi, bir kaba metin yerleştirmek için kullanılan bir bileşendir. |
2 | JButton Bu sınıf, etiketli bir düğme oluşturur. |
3 | JColorChooser JColorChooser, kullanıcının bir rengi işlemesine ve seçmesine izin vermek için tasarlanmış bir kontrol paneli sağlar. |
4 | JCheck Kutusu JCheckBox, her ikisinde de olabilen bir grafik bileşendir. on (true) veya off (yanlış) durum. |
5 | JRadioButton JRadioButton sınıfı, her ikisinde de olabilen bir grafik bileşendir. on (true) veya off(yanlış) durum. grup içinde. |
6 | JList Bir JList bileşeni, kullanıcıya metin öğelerinin kayan bir listesini sunar. |
7 | JComboBox JComboBox bileşeni, kullanıcıya bir seçenekler menüsü sunar. |
8 | JTextField JTextField nesnesi, tek bir metin satırının düzenlenmesine izin veren bir metin bileşenidir. |
9 | JPasswordField Bir JPasswordField nesnesi, şifre girişi için özelleştirilmiş bir metin bileşenidir. |
10 | JTextArea JTextArea nesnesi, birden çok metin satırının düzenlenmesine izin veren bir metin bileşenidir. |
11 | ImageIcon ImageIcon denetimi, Simgeleri Görüntülerden boyayan Simge arabiriminin bir uygulamasıdır. |
12 | JScrollbar Kaydırma çubuğu kontrolü, kullanıcının değerler aralığı arasından seçim yapmasını sağlamak için bir kaydırma çubuğu bileşenini temsil eder. |
13 | JOptionPane JOptionPane, kullanıcılardan bir değer girmelerini isteyen veya onlara bir şey hakkında bilgi veren standart iletişim kutuları sağlar. |
14 | JFileChooser Bir JFileChooser denetimi, kullanıcının bir dosya seçebileceği bir iletişim penceresini temsil eder. |
15 | JProgressBar Görev tamamlanmaya doğru ilerledikçe, ilerleme çubuğu görevin tamamlanma yüzdesini görüntüler. |
16 | JSlider Bir JS kaydırıcısı, kullanıcının sınırlı bir aralık içinde bir düğmeyi kaydırarak grafiksel olarak bir değer seçmesini sağlar. |
17 | JSpinner JSpinner, kullanıcının sıralı bir diziden bir sayı veya bir nesne değeri seçmesini sağlayan tek satırlı bir giriş alanıdır. |
Bu bölümde, Etkinlikler ve türleri hakkında bilgi edinecek ve ayrıca bir olayı nasıl ele alacağınızı öğreneceksiniz. Daha iyi anlaşılması için örnek bölümün sonunda verilmiştir.
Etkinlik nedir?
Bir nesnenin durumundaki değişiklik olarak bilinir Eventyani olay, kaynağın durumundaki değişikliği tanımlar. Olaylar, grafiksel kullanıcı arayüzü bileşenleriyle kullanıcı etkileşiminin bir sonucu olarak oluşturulur. Örneğin, bir düğmeye tıklamak, fareyi hareket ettirmek, klavyeden bir karakter girmek, listeden bir öğe seçmek ve sayfayı kaydırmak, bir olayın meydana gelmesine neden olan aktivitelerdir.
Olay Türleri
Olaylar genel olarak iki kategoriye ayrılabilir -
Foreground Events- Bu olaylar, kullanıcının doğrudan etkileşimini gerektirir. Grafik Kullanıcı Arayüzündeki grafik bileşenlerle etkileşimde bulunan bir kişinin sonucu olarak oluşturulurlar. Örneğin, bir düğmeye tıklamak, fareyi hareket ettirmek, klavyeden bir karakter girmek, listeden bir öğe seçmek, sayfayı kaydırmak vb.
Background Events- Bu olaylar, son kullanıcının etkileşimini gerektirir. İşletim sistemi kesintileri, donanım veya yazılım arızaları, zamanlayıcının sona ermesi ve işlemin tamamlanması, arka plan olaylarının bazı örnekleridir.
Olay İşleme nedir?
Olay İşleme, olayı kontrol eden ve bir olay meydana geldiğinde ne olacağına karar veren mekanizmadır. Bu mekanizma, bir olay gerçekleştiğinde yürütülen ve olay işleyicisi olarak bilinen bir koda sahiptir.
Java, olayları işlemek için Delegation Event Modelini kullanır. Bu model, olayları oluşturmak ve işlemek için standart mekanizmayı tanımlar.
Delegasyon Olay Modeli aşağıdaki kilit katılımcılara sahiptir.
Source- Kaynak, olayın meydana geldiği nesnedir. Kaynak, meydana gelen olayın bilgilerini işleyicisine sağlamaktan sorumludur. Java bize kaynak nesne için sınıflar sağlar.
Listener- Aynı zamanda olay işleyici olarak da bilinir. Dinleyici, bir olaya yanıt oluşturmaktan sorumludur. Java uygulaması açısından dinleyici aynı zamanda bir nesnedir. Dinleyici, bir olay alana kadar bekler. Olay alındıktan sonra dinleyici, olayı işler ve ardından geri döner.
Bu yaklaşımın yararı, kullanıcı arabirimi mantığının olayı oluşturan mantıktan tamamen ayrılmasıdır. Kullanıcı arabirimi öğesi, bir olayın işlenmesini ayrı bir kod parçasına devredebilir.
Bu modelde, dinleyicinin olay bildirimini alabilmesi için dinleyicinin kaynak nesneyle kaydedilmesi gerekir. Bu, olayı ele almanın etkili bir yoludur çünkü olay bildirimleri yalnızca onları almak isteyen dinleyicilere gönderilir.
Olay İşlemeye Dahil Olan Adımlar
Step 1 - Kullanıcı düğmeyi tıklar ve olay oluşturulur.
Step 2 - İlgili olay sınıfının nesnesi otomatik olarak oluşturulur ve kaynak ve olay hakkındaki bilgiler aynı nesne içinde doldurulur.
Step 3 - Olay nesnesi, kayıtlı dinleyici sınıfının yöntemine iletilir.
Step 4 - Yöntem çalıştırılır ve geri döner.
Dinleyici Hakkında Hatırlanması Gereken Noktalar
Bir dinleyici sınıfı tasarlamak için, bazı dinleyici arayüzleri geliştirmelisiniz. Bu Dinleyici arabirimleri, dinleyici sınıfı tarafından uygulanması gereken bazı genel soyut geri çağrı yöntemlerini tahmin eder.
Önceden tanımlanmış arabirimlerin hiçbirini uygulamazsanız, sınıfınız bir kaynak nesne için dinleyici sınıfı olarak hareket edemez.
Geri Arama Yöntemleri
Bunlar, API sağlayıcısı tarafından sağlanan ve uygulama programcısı tarafından tanımlanan ve uygulama geliştiricisi tarafından çağrılan yöntemlerdir. Burada geri çağırma yöntemleri bir olay yöntemini temsil eder. Bir olaya yanıt olarak, java jre geri arama yöntemini çalıştıracaktır. Bu tür tüm geri arama yöntemleri dinleyici arabirimlerinde sağlanır.
Bir bileşen bir dinleyicinin kendi olaylarını dinlemesini istiyorsa, kaynak kendisini dinleyiciye kaydetmelidir.
Olay İşleme Örneği
Aşağıdaki Java programını istediğiniz herhangi bir düzenleyiciyi kullanarak oluşturun D:/ > SWING > com > tutorialspoint > gui >
SwingControlDemo.java
package com.tutorialspoint.gui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingControlDemo {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public SwingControlDemo(){
prepareGUI();
}
public static void main(String[] args){
SwingControlDemo swingControlDemo = new SwingControlDemo();
swingControlDemo.showEventDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java SWING Examples");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
headerLabel = new JLabel("",JLabel.CENTER );
statusLabel = new JLabel("",JLabel.CENTER);
statusLabel.setSize(350,100);
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showEventDemo(){
headerLabel.setText("Control in action: Button");
JButton okButton = new JButton("OK");
JButton submitButton = new JButton("Submit");
JButton cancelButton = new JButton("Cancel");
okButton.setActionCommand("OK");
submitButton.setActionCommand("Submit");
cancelButton.setActionCommand("Cancel");
okButton.addActionListener(new ButtonClickListener());
submitButton.addActionListener(new ButtonClickListener());
cancelButton.addActionListener(new ButtonClickListener());
controlPanel.add(okButton);
controlPanel.add(submitButton);
controlPanel.add(cancelButton);
mainFrame.setVisible(true);
}
private class ButtonClickListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if( command.equals( "OK" )) {
statusLabel.setText("Ok Button clicked.");
} else if( command.equals( "Submit" ) ) {
statusLabel.setText("Submit Button clicked.");
} else {
statusLabel.setText("Cancel Button clicked.");
}
}
}
}
Programı komut istemini kullanarak derleyin. GitD:/ > SWING ve aşağıdaki komutu yazın.
D:\AWT>javac com\tutorialspoint\gui\SwingControlDemo.java
Hata oluşmazsa, derlemenin başarılı olduğu anlamına gelir. Aşağıdaki komutu kullanarak programı çalıştırın.
D:\AWT>java com.tutorialspoint.gui.SwingControlDemo
Aşağıdaki çıktıyı doğrulayın.
Olay sınıfları olayı temsil eder. Java, çeşitli Etkinlik sınıfları sağlar, ancak yalnızca daha sık kullanılanlar tartışılacaktır.
EventObject Sınıfı
Tüm olay durumu nesnelerinin türetileceği kök sınıftır. Tüm Olaylar, nesneye,sourcebu, mantıksal olarak söz konusu Olayın başlangıçta meydana geldiği nesne olarak kabul edilir. Bu sınıf,java.util paketi.
Sınıf Beyanı
Aşağıdaki beyanı java.util.EventObject sınıf -
public class EventObject
extends Object
implements Serializable
Alan
Aşağıdakiler için alanlar java.util.EventObject sınıf -
protected Object source - Olayın başlangıçta meydana geldiği nesne.
Sınıf Oluşturucular
Sr.No. | Oluşturucu ve Açıklama |
---|---|
1 | EventObject(Object source) Prototip bir Olay oluşturur. |
Sınıf Yöntemleri
Sr.No. | Yöntem ve Açıklama |
---|---|
1 | Object getSource() Olayın başlangıçta meydana geldiği nesne. |
2 | String toString() Bu EventObject öğesinin Dize gösterimini döndürür. |
Miras Alınan Yöntemler
Bu sınıf, aşağıdaki sınıftan yöntemleri miras alır -
- java.lang.Object
SWING Etkinlik Sınıfları
Yaygın olarak kullanılan Event sınıflarının listesi aşağıdadır.
Sr.No. | Sınıf ve Açıklama |
---|---|
1 | AWTEvent Tüm SWING olayları için kök olay sınıfıdır. Bu sınıf ve alt sınıfları, orijinalin yerine geçerjava.awt.Event sınıf. |
2 | ActionEvent ActionEvent, düğme tıklandığında veya bir listedeki öğe çift tıklandığında oluşturulur. |
3 | InputEvent InputEvent sınıfı, tüm bileşen düzeyinde girdi olayları için kök olay sınıfıdır. |
4 | Önemli olay Karakterin girilmesiyle Key olayı oluşturulur. |
5 | MouseEvent Bu olay, bir bileşende meydana gelen bir fare eylemini gösterir. |
6 | WindowEvent Bu sınıfın nesnesi, bir pencerenin durumundaki değişikliği temsil eder. |
7 | AdjustmentEvent Bu sınıfın nesnesi, Ayarlanabilir nesneler tarafından yayılan ayarlama olayını temsil eder. |
8 | ComponentEvent Bu sınıfın nesnesi, bir pencerenin durumundaki değişikliği temsil eder. |
9 | ContainerEvent Bu sınıfın nesnesi, bir pencerenin durumundaki değişikliği temsil eder. |
10 | MouseMotionEvent Bu sınıfın nesnesi, bir pencerenin durumundaki değişikliği temsil eder. |
11 | PaintEvent Bu sınıfın nesnesi, bir pencerenin durumundaki değişikliği temsil eder. |
Olay dinleyicileri, olayları işlemekten sorumlu arayüzleri temsil eder. Java, çeşitli Olay dinleyici sınıfları sağlar, ancak yalnızca daha sık kullanılanlar tartışılacaktır. Bir olay dinleyici yönteminin her yöntemi, EventObject sınıfının alt sınıfı olan nesne olarak tek bir argümana sahiptir. Örneğin, fare olay dinleyici yöntemleri, MouseEvent'in EventObject'ten türetildiği MouseEvent örneğini kabul eder.
EventListner Arayüzü
Her dinleyici arayüzünün genişletmesi gereken bir işaretleyici arayüzdür. Bu sınıf,java.util paketi.
Sınıf Beyanı
Aşağıdaki beyanı java.util.EventListener arayüz -
public interface EventListener
SWING Olay Dinleyici Arayüzleri
Yaygın olarak kullanılan olay dinleyicilerinin listesi aşağıdadır.
Sr.No. | Sınıf ve Açıklama |
---|---|
1 | ActionListener Bu arayüz, eylem olaylarını almak için kullanılır. |
2 | Bileşen Dinleyici Bu arayüz, bileşen olaylarını almak için kullanılır. |
3 | ItemListener Bu arayüz, öğe olaylarını almak için kullanılır. |
4 | KeyListener Bu arayüz, önemli olayları almak için kullanılır. |
5 | MouseListener Bu arayüz, fare olaylarını almak için kullanılır. |
6 | WindowListener Bu arayüz, pencere olaylarını almak için kullanılır. |
7 | AdjustmentListener Bu arayüz, ayarlama olaylarını almak için kullanılır. |
8 | ContainerListener Bu arayüz, kapsayıcı olaylarını almak için kullanılır. |
9 | MouseMotionListener Bu arayüz, fare hareket olaylarını almak için kullanılır. |
10 | FocusListener Bu arayüz odak olaylarını almak için kullanılır. |
Adaptörler, çeşitli olayları almaya yönelik soyut sınıflardır. Bu sınıflardaki yöntemler boştur. Bu sınıflar, dinleyici nesneleri oluşturmak için kolaylık sağlar.
SWING Adaptörleri
SWING'de GUI olaylarını dinlerken yaygın olarak kullanılan adaptörlerin listesi aşağıdadır.
Sr.No. | Adaptör ve Açıklama |
---|---|
1 | FocusAdapter Odak olaylarını almak için soyut bir bağdaştırıcı sınıfı. |
2 | KeyAdapter Önemli olayları almak için soyut bir bağdaştırıcı sınıfı. |
3 | MouseAdapter Fare olaylarını almak için soyut bir adaptör sınıfı. |
4 | MouseMotionAdapter Fare hareketi olaylarını almak için soyut bir adaptör sınıfı. |
5 | WindowAdapter Pencere olaylarını almak için soyut bir bağdaştırıcı sınıfı. |
Düzen, kap içindeki bileşenlerin düzenlenmesini ifade eder. Başka bir şekilde, yerleşim planının bileşenleri kap içinde belirli bir konuma yerleştirdiği söylenebilir. Kontrolleri düzenleme görevi, Yerleşim Yöneticisi tarafından otomatik olarak yapılır.
Yerleşim Yöneticisi
Yerleşim yöneticisi, konteyner içindeki tüm bileşenleri otomatik olarak konumlandırır. Yerleşim yöneticisini kullanmasanız bile, bileşenler yine de varsayılan yerleşim yöneticisi tarafından konumlandırılır. Kontrolleri elle düzenlemek mümkündür ancak aşağıdaki iki nedenden dolayı çok zorlaşır.
Kap içinde çok sayıda kontrolü ele almak çok yorucudur.
Genellikle, bir bileşenin genişlik ve yükseklik bilgileri, onları düzenlememiz gerektiğinde verilmez.
Java, kontrolleri konumlandırmak için çeşitli düzen yöneticileri sağlar. Boyut, şekil ve düzenleme gibi özellikler bir düzen yöneticisinden diğerine değişir. Uygulamanın veya uygulama penceresinin boyutu değiştiğinde, bileşenlerin boyutu, şekli ve düzenlemesi de yanıt olarak değişir, yani yerleşim yöneticileri, uygulama görüntüleyicinin veya uygulama penceresinin boyutlarına uyum sağlar.
Yerleşim yöneticisi her Container nesnesiyle ilişkilendirilir. Her bir düzen yöneticisi, LayoutManager arabirimini uygulayan sınıfın bir nesnesidir.
Layout Yöneticilerinin işlevlerini tanımlayan arayüzler aşağıdadır.
Sr.No. | Arayüz ve Açıklama |
---|---|
1 | LayoutManager LayoutManager arayüzü, nesnesi bir yerleşim yöneticisi olarak hareket edecek olan sınıf tarafından uygulanması gereken yöntemleri bildirir. |
2 | LayoutManager2 LayoutManager2, LayoutManager'ın alt arayüzüdür. Bu arabirim, düzen kısıtlama nesnesine göre konteynerlerin nasıl düzenleneceğini bilen sınıflar içindir. |
AWT Layout Manager Sınıfları
AWT kullanarak GUI tasarlarken yaygın olarak kullanılan kontrollerin listesi aşağıdadır.
Sr.No. | LayoutManager & Açıklama |
---|---|
1 | Sınır düzeni Sınır düzeni, bileşenleri beş bölgeye uyacak şekilde düzenler: doğu, batı, kuzey, güney ve merkez. |
2 | Kart Düzeni CardLayout nesnesi, kaptaki her bileşeni bir kart olarak değerlendirir. Bir seferde yalnızca bir kart görülebilir. |
3 | Akış düzeni FlowLayout, varsayılan düzendir. Bileşenleri yönlü bir akışla düzenler. |
4 | GridLayout GridLayout, bileşenleri dikdörtgen bir ızgara biçiminde yönetir. |
5 | GridBagLayout Bu, en esnek düzen yöneticisi sınıfıdır. GridBagLayout nesnesi, aynı boyuttaki bileşenleri gerektirmeden bileşeni dikey, yatay veya taban çizgileri boyunca hizalar. |
6 | Grup Düzeni GroupLayout, bileşenleri bir Konteyner içinde konumlandırmak için hiyerarşik olarak gruplar. |
7 | İlkbahar Düzeni SpringLayout, ilişkili kapsayıcısının alt öğelerini bir dizi kısıtlamaya göre konumlandırır. |
Her üst düzey pencerenin kendisiyle ilişkilendirilmiş bir menü çubuğuna sahip olduğunu biliyoruz. Bu menü çubuğu, son kullanıcının kullanabileceği çeşitli menü seçeneklerinden oluşur. Ayrıca, her seçim, açılır menüler adı verilen bir seçenek listesi içerir. Menu ve MenuItem denetimleri MenuComponent sınıfının alt sınıfıdır.
Menü Hiyerarşisi
Menü Kontrolleri
Sr.No. | Sınıf ve Açıklama |
---|---|
1 | JMenuBar JMenuBar nesnesi, üst düzey pencereyle ilişkilendirilir. |
2 | JMenuItem Menüdeki öğeler JMenuItem'e veya alt sınıflarından herhangi birine ait olmalıdır. |
3 | JMenu JMenu nesnesi, menü çubuğundan görüntülenen bir açılır menü bileşenidir. |
4 | JCheckboxMenuItem JCheckboxMenuItem, JMenuItem öğesinin alt sınıfıdır. |
5 | JRadioButtonMenuItem JRadioButtonMenuItem, JMenuItem öğesinin alt sınıfıdır. |
6 | JPopupMenu JPopupMenu, bir bileşen içinde belirtilen bir konumda dinamik olarak açılabilir. |
Konteynerler, SWING GUI bileşenlerinin ayrılmaz bir parçasıdır. Bir kap, bir bileşenin yerleştirilebileceği bir alan sağlar. AWT'deki bir Konteyner, bir bileşenin kendisidir ve kendisine bir bileşen ekleme yeteneği sağlar. Aşağıda, dikkate alınması gereken bazı önemli noktalar verilmiştir.
Container'ın alt sınıfları Container olarak adlandırılır. Örneğin, JPanel, JFrame ve JWindow.
Konteyner kendisine yalnızca bir Bileşen ekleyebilir.
Her kapsayıcıda, kullanılarak geçersiz kılınabilen varsayılan bir düzen mevcuttur. setLayout yöntem.
SWING Konteynerler
SWING kullanılarak GUI tasarlanırken yaygın olarak kullanılan konteynerlerin listesi aşağıdadır.
Sr.No. | Konteyner ve Açıklama |
---|---|
1 | Panel JPanel en basit kapsayıcıdır. Diğer paneller de dahil olmak üzere başka herhangi bir bileşenin yerleştirilebileceği alan sağlar. |
2 | Çerçeve JFrame, başlığı ve kenarlığı olan üst düzey bir penceredir. |
3 | Pencere JWindow nesnesi, kenarlık ve menü çubuğu olmayan üst düzey bir penceredir. |