2 Aralık 2007 Pazar

Java DnD nedir?

Java da Drag and Drop

Java da drag and drop adından da anlaşılacağı üzere sürükle-bırak teknolojisini kullanarak yapılan işlerdir.

Drag and drop özelliğini kullanacaksak programımızda java.awt.dnd* yi import etmeliyiz.

Birçok program bilginin taşınmasında yarar sağlayabilir;componentler ,java uygulamaları ve yerel uygulamalar arasında.

Java da Drag and Drop desteği şu anki sürümlerinde sağlanmaktadır.Diyagramda Java da drag and Drop işleminin nasıl sağlandığı anlatılmaktadır.


Diyagram da anlatılmak istenen şu; A adında bir JComponent kesme ya da kopyalama işlemiyle Sistem Clipboard una ekliyoruz.(drag işleminin yaptığı şey bu)
Drop işleminde ise Sistem Clipboardumuzda bulunan bilgi JComponent B adındaki Componentimize yapıştırılıyor(bir textalanı olabilir).
Burada Kopyalama ve Yapıştırma işlemlerinde ara eleman olarak görev yapan TransferHandler nesnesi veri transfer sisteminin kalbi durumundadır.Diyagramda bulunan oklar veri yolunu göstermektedir.

Şimdi drag and drop özelliğini veri transferi için kullanan bazı componentlere tablo şeklinde örnekler verelim.
Windows ve Linuxda Drag and Drop kursör ikonları farklı şekillerde gösterilir.

Şimdi basit bir örnek yapalım DnD özelliğini JLabele ekleyelim.
JLabel componenti standart halde DnD yi desteklemez,fakat basit bir uygulamayla bu desteği sağlayabilir.Kod kısmı…

Öncelikle LabelDnd kodunu derleyelim ve çalıştıralım.
Mouse imlecini etiketin ustune basıp – tutun,imleci hareket ettirdiğinizde I m a Label yazısıyla karşılaşacaksınız bu yazıyı textalanına sürükleyin textalanına bıraktığınızda artık etikette yazılı olan yazı Textalanında yazmaktadır.
Daha önceden DnD için en önemli olayın TransferHandler nesnesi olduğunu söylemiştik Bu kod bir label(etiket) yaratıyor ve onu etiketin üstündeki TransferHandler e yüklüyor


Metnin tamami ve daha detayli bir bilgi icin http://java.sun.com/docs/books/tutorial/uiswing/dnd/intro.html
sayfasindan bulabilirsiniz.

Hiç yorum yok: