Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Java / JSP

Cevapla
 
LinkBack Seçenekler
Eski 07/05/2005, 19:47   #1 (permalink)
E Rh+
 
rhnkyr Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: İstanbul
Mesaj: 204
Ampul tf da enter

birden fazla tf var ve ben bunlar arasında geçişi enter la yapmak istiyorum. yani enter a her bastığımda bir alt tf ye gitsin ne yapabilirim.... şimdiden teşekkür.
__________________
C#, Asp.net,Php,Adobe Flex (with Flourine and Weborb) Developer
rhnkyr hatta değil   Alıntı Yaparak Yanıtla
Eski 08/05/2005, 12:59   #2 (permalink)
.
 
yildizib Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2003
Mesaj: 629
Varsayılan

ipuçları: KeyListener, KeyEvent ve TextField requestFocus()

Bunları araştırırsan bulabilirsin.
yildizib hatta değil   Alıntı Yaparak Yanıtla
Eski 08/05/2005, 21:25   #3 (permalink)
Eski Cevizci
 
myavuzselim Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2004
Mesaj: 792
Varsayılan

Hatta ActionListener da kulanabilirsin.
myavuzselim hatta değil   Alıntı Yaparak Yanıtla
Eski 12/05/2005, 01:17   #4 (permalink)
E Rh+
 
rhnkyr Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: İstanbul
Mesaj: 204
Varsayılan

ben hala bişey yapamadım sizin verdiğiniz metodlarla bişey uydurumadım bi yardım ...
__________________
C#, Asp.net,Php,Adobe Flex (with Flourine and Weborb) Developer
rhnkyr hatta değil   Alıntı Yaparak Yanıtla
Eski 12/05/2005, 13:31   #5 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

Aslında zor değil arkadaşların dediği. Mesela 3 tane JTextField bileşenin var diyelim. Hepsi için actionListener ekleyeceksin. Kullanıcı <ENTER> yaptığında actionPerformed() çağrılacak, sonra sen hangi kutuda basıldıysa diğer kutuya geçiş yapacaksın. (Daha doğrusu odaklanma)

Örnek
Kod:
public void actionPerformed(ActionEvent e)
{
      if (e.getSource()== jTextField1)
         jTextField2.requestFocus();
      else if (e.getSource() == jTextField2)
        jTextField3.requestFocus();     
}
Daha güzeli ise Event-Dispatching Thread'e bu işlemi yaptırmaktır
Kod:
public void actionPerformed(ActionEvent e)
{
    JTextField t;
    if (e.getSource() == jTextField1)
       t = jTextField2;
   else if (e.getSource() == jTextField2)
       t= jTextField3;
  SwingUtilities.invokeLater(new Runnable()
         public void run()
         {
                t.requestFocus();
         }
  );
}
NOT : Kodları denemedim, sadece mantık olarak bakılsın.

Kolay gelsin
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 12/05/2005, 16:00   #6 (permalink)
.
 
yildizib Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2003
Mesaj: 629
Varsayılan

ActionEvent, meselesi biraz farklı.Bu Event tipi componenttin kendisinde meydana gelen Eventtir (component'e tıklama örneğin).

Burada Entere basıldıkça cursorun diğer TextField'e geçmesini sağlamak için KeyBoardda yaratılan Event'in ele alınması lazımdır.Bu event ise KeyEventtir.
Aslında KeyEvent+FocusEvent ikisi birlikte kullanılmalı.

En başta "hemen ben yazmayayım sen biraz uğraş" istedim."Uğraşıp kendin çözersen daha iyi öğrenirsin."diye düşündüm.Eğer uğraştıysan ve hala çözemediysen işte sana daha detaylı bir ipucu vereyim.

Yapacağın kabaca şöyle,
Madde madde yazayım,
1.Formdaki textFieldleri dizide tut.
Kod:
      JTextField a,b,c,d,e;
      JTextField textfields[]=new JTextField[];//a,b,c,d,e TextFieldlerini
      // dizide Focus sırasına göre tut.
2. Tüm TextFieldleri KeyListener'e register et.Ve interface'in metodunu düzenle,
Kod:
      //KeyListener'e register edeceğin keyPressed metodunda
      public void keyPressed(...){
          //Basılan tuşun Enter olduğunu dedekte et.
          //KeyEvent.VK_ENTER
          //eğer Event Enter tuşundan gelmişse,
          //Seçilmiş olan TextField'i (selectedTextField) al ve dizide 
          //kendisinden sora gelen TextField'i bul 
          //Sonraki TextFiled'i Focus et.
          
      }
3. Tüm TextFieldleri FocusListenere de ekle.ve interface'in focusGained metodunu düzenle,
Kod:
      //Tüm TextFieldleri FocusListener'e ekle 
       //FocusListener'in focusGained()   metoduyla Focus eildmiş   
       //TextField'i  kendin uydurduğun bir TextField propertisi ne ata 
       //ve tut.Select edilen TextField bir yerde tutulması lazım çünkü 
       //diziden sorakini bulup focus edeceğiz.FocusListener 
        //kullanılmalı çünkü sen her Enter bastıkça Focus edileceği gibi mouse ile 
      //Focus yaptığındada focus edilen ve senin bunun için tuttuğun 
       //TextField propertisi değişmesi lazım.
Uğraş kendin yaparsan kendine çok güveneceksin.
yildizib hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
Enter ile Tab Yapma simadreta Javascript / DHTML / Ajax 1 08/06/2006 14:54
Textareada enter monder33 ASP 2 25/10/2005 17:12
enter algılama theskull ASP 4 23/01/2005 19:05
<Enter> StarturE PHP 9 19/08/2003 22:18
CTRL+Enter Sahin Windows 15 19/08/2003 02:19


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 05:54.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net