Bir iletişim kutusunun ana işlevi, bir uygulamanın veya web sitesinin kullanıcıdan bazı girdileri almasıdır. Bu girdi, bir mesajı okuduklarının veya bir metin alanına girdikleri bir şeyin onaylanması olabilir.
Bir iletişim kutusu hemen kullanıcının dikkatini çeker. Önemli bilgileri toplamak veya görüntülemek için mükemmel bir araçtır.
Java, iletişim kutuları oluşturmak için çeşitli sınıflar sağlayan çeşitli bir dildir. Bu sınıflar JOptionPane, JDialog ve JFrame'i içerir.
JOptionPane Sınıfı
JOptionPane sınıfına ait birkaç statik yöntemden birini kullanarak standart bir iletişim kutusu oluşturabilirsiniz. Bunlar şunları içerir:
- showMessageDialog(), kullanıcıya bir mesaj iletir.
- showConfirmDialog(), onay gerektiren bir soru sorar.
- showInputDialog(), kullanıcıdan giriş yapmasını ister.
- showOptionDialog(), diğer üç yöntemin bir kombinasyonudur.
JOptionPane İletişim Kutusu Oluşturma
içe aktarmak javax.swing. JÇerçeve;
içe aktarmak javax.swing. JOptionPane;halka açıksınıfJOptionPaneApp{
JOptionPaneApp() {
JÇerçeve çerçevesi = yeni JFrame();
JOptionPane.showMessageDialog (çerçeve, "Bu bir JOptionPane mesaj penceresidir.");
}
halka açıkstatikgeçersizana(Dize[] bağımsız değişkenler){
yeni JOptionPaneApp();
}
}
Yukarıdaki kod aşağıdaki iletişim kutusunu oluşturur:
JOptionPane standart iletişim kutuları sağlasa da, davranışını değiştirmenize izin veren birçok seçeneğe sahiptir. Örneğin, mesaj iletişim kutusu birkaç türden birini alabilir. Yukarıdaki örnek bir BİLGİ_MESSAGE, varsayılan olan. Diğer mesaj türleri şunlardır:
- HATA MESAJI
- UYARI MESAJI
- QUESTION_MESSAGE
- PLAIN_MESSAGE
Hata Mesajı Oluşturma
JOptionPane iletişim kutunuz için farklı bir mesaj türünün nasıl kullanılacağına dair bir örnek:
JOptionPane.showMessageDialog (çerçeve, "Bu bir JOptionPane hata mesajı penceresidir.",
"Hata", JOptionPane. HATA MESAJI);
değiştirin showMessageDialog() orijinal programdaki satırı yukarıdaki kod satırıyla görüntülediğinizde aşağıdaki hata iletişim kutusunu görürsünüz:
JDialog Sınıfı
JDialog sınıfı, özel iletişim kutuları oluşturmanıza olanak tanır. Bu Java sınıfı ait javax.swing paketler ve Dialog sınıfını genişletir. Çok çeşitli doğrudan ve dolaylı yöntemlere erişimi vardır. Bu Java sınıfında toplam 16 Java yapıcıları.
Varsayılan kurucu dışında, diğer 15'in her biri bir çerçeve, bir pencere veya birkaç başka argümanın bir kombinasyonunu içeren bir diyalog kutusu alır.
Birincil JDialog Oluşturucuları şunları içerir:
- JDialog() çerçevesi, başlığı veya modu olmayan bir iletişim kutusu oluşturur.
- JDialog (İletişim kutusu sahibi, Dize başlığı, boole modu) bir İletişim Kutusu sahibi, bir dize başlığı ve bir mod içeren bir iletişim kutusu oluşturur.
- JDialog (Çerçeve sahibi, Dize başlığı, boole modal) Çerçeve sahibi, dize başlığı ve mod içeren bir iletişim kutusu oluşturur.
- JDialog (Pencere sahibi, Dize başlığı, boole modu) bir Pencere sahibi, bir dize başlığı ve bir mod içeren bir iletişim kutusu oluşturur.
JDialog İletişim Kutusu Oluşturma
içe aktarmak java.awt. Akış düzeni;
içe aktarmak java.awt.event. EylemEtkinliği;
içe aktarmak java.awt.event. Eylem Dinleyici;
içe aktarmak javax.swing. JDüğmesi;
içe aktarmak javax.swing. JDialog;
içe aktarmak javax.swing. JÇerçeve;
içe aktarmak javax.swing. J Etiketi;
içe aktarmak javax.swing. Pencere Sabitleri;halka açıksınıfJDialogApp{
JDialogApp() {
JÇerçeve çerçevesi = yeni JFrame();
JDialog iletişim kutusu = yeni JDialog (çerçeve, doğru);
dialog.setLayout(yeni Akış düzeni());JLabel displayText = yeni JLabel("Bu bir JDialog penceresidir.");
JButton btn = yeni JButton("Tamam");btn.addActionListener(yeni ActionListener() {
halka açıkgeçersizeylem Gerçekleştirildi(ActionEvent e){
dialog.setVisible(yanlış);
}
});dialog.add (displayText);
dialog.add (btn);dialog.setSize(200,150);
dialog.setTitle("Diyalog Penceresi");
dialog.setVisible(doğru);
dialog.setDefaultCloseOperation (WindowConstants. DISPOSE_ON_CLOSE);
}
halka açıkstatikgeçersizana(Dize argümanları[]){
yeni JDialogApp();
}
}
Yukarıdaki kod aşağıdaki iletişim kutusunu oluşturur:
Kodun dikkat etmeniz gereken birkaç önemli yönü vardır. Program şunları kullanır: JDialog (Çerçeve sahibi, Boole modu) geçtiği kurucu, JÇerçeve ve argüman olarak "true" değeri. JFrame, JDialog'un sahibidir, yani iletişim kutusunun görüntülenmesinden sorumludur. "Doğru" değer, iletişim kutusunun görüntülendiğinde diğer ilgili pencerelere girişi engellediği anlamına gelir.
Yukarıdaki koddaki yapıcı, argümanı olarak bir başlık almaz. Ancak çerçeve sahibinin bir unvana ihtiyacı vardır. Yani, bu görev için kullanabilirsiniz setTitle() JDialog'un genişlettiği Dialog sınıfı aracılığıyla kullanılabilen yöntem. Koddaki diğer önemli yöntemler şunlardır: setVisible(), setSize(), ve setDefaultCloseOperation().
setVisible bir Boole değeri alır ve çerçeveyi görüntülemekten sorumludur. setSize, iletişim penceresinin yüksekliğini ve genişliğini alır. setDefaultCloseOperation, bir kullanıcı iletişim kutusunu kapattığında ne olacağına karar vermek için üç değerden birini alır.
JFrame Sınıfı
JDialog ve JOptionPane, iletişim kutuları oluşturmak için JFrame sınıfını kullanır. Ancak, JFrame sınıfı kendi başına iletişim kutuları oluşturabilir. JFrame sınıfı, Frame sınıfını genişletir ve JDialog sınıfına çok benzer şekilde, özel iletişim kutuları oluşturmanıza olanak tanır.
JFrame, bir iletişim kutusu oluşturmak için kullanmanız gereken dört kurucuya ve birkaç doğrudan ve dolaylı yönteme sahiptir.
JFrame İletişim Kutusu Oluşturma
içe aktarmak java.awt.event. EylemEtkinliği;
içe aktarmak java.awt.event. Eylem Dinleyici;içe aktarmak javax.swing. JDüğmesi;
içe aktarmak javax.swing. JÇerçeve;
içe aktarmak javax.swing. J Etiketi;
içe aktarmak javax.swing. JPanel;
içe aktarmak javax.swing. Pencere Sabitleri;halka açıksınıfJFrameApp{
JFrameApp() {
JÇerçeve çerçevesi = yeni JFrame();
frame.setTitle("Diyalog Penceresi");
JPanel paneli = yeni JPanel();JLabel displayText = yeni JLabel("Bu bir JFrame penceresidir.");
panel.add (displayText);
JButton btn = yeni JButton("Tamam Butonu");btn.addActionListener(yeni ActionListener() {
halka açıkgeçersizeylem Gerçekleştirildi(ActionEvent e){
çerçeve.setVisible(yanlış);
}
});panel.add (btn);
frame.add (panel);
frame.setDefaultCloseOperation (WindowConstants. EXIT_ON_CLOSE);
çerçeve.setSize(250, 150);
çerçeve.setVisible(doğru);
}
halka açıkstatikgeçersizana(Dize[] bağımsız değişkenler){
yeni JFrameApp();
}
}
Yukarıdaki kod aşağıdaki iletişim kutusunu oluşturur:
Kod, varsayılan JFrame yapıcısını ve aşağıdakiler gibi birkaç tanıdık yöntemi kullanır. setTitle() yöntemi (yukarıdaki JDialog uygulamasında kullanılır). Yukarıdaki programda bilinmeyen bir nesne, JPanel, genel bir kapsayıcıdır. Bu, JFrame'e bir çerçeveye birden çok düzen ve bileşen ekleme esnekliği verir.
bu Eylem Dinleyici() ve actionPerformed() yöntemler, bir kullanıcının tıklama olayını ele alır. TAMAM buton.
İletişim Kutuları Oluşturmak İçin En İyi Java Sınıfı Hangisidir?
JOptionPane sınıfının tek amacı, iletişim kutusu oluşturma sürecini Java geliştiricileri için daha uygun hale getirmektir. Ancak, daha özel bir iletişim kutusuna ihtiyacınız varsa, JDialog sınıfı bir sonraki en iyi seçenektir.
JFrame sınıfı, kullanıcı arabirimleri oluşturur, ancak bunu, iletişim kutuları da dahil olmak üzere bir GUI'nin birçok farklı öğesini oluşturmak için kullanabilirsiniz.
JFrame sınıfıyla oluşturulan iletişim kutusu simge durumuna küçültülmüş bir simgeye sahipken diğerlerinde yoktur. Kullanıcının bir görevi tamamlamadan önce harekete geçmesi gereken kalıcı bir iletişim kutusu istiyorsanız, JFrame en iyi yaklaşım değildir.
İlk Java GUI Uygulamanızı Nasıl Yazabilirsiniz?
Sonrakini Oku
İlgili konular
- Programlama
- Programlama
- Java
- Kodlama Eğitimleri
Yazar hakkında
Kadeisha Kean, Full-Stack Yazılım Geliştirici ve Teknik/Teknoloji Yazarıdır. En karmaşık teknolojik kavramların bazılarını basitleştirme konusunda belirgin bir yeteneğe sahiptir; herhangi bir teknoloji acemi tarafından kolayca anlaşılabilecek malzeme üretmek. Yazmak, ilginç yazılımlar geliştirmek ve dünyayı gezmek (belgeseller aracılığıyla) konusunda tutkulu.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın