Merhaba arkadaşlar. JAVA GUI ile JFrame sınıfının design seçeneğini kullanarak bir giriş ekranı yapmaya çalıştım. Design ekranında aşağıdaki resimlerde görüldüğü gibi bir şeyler tasarladım. Butona basıldığı zaman devreye giren bir actionPerformed fonksiyonu sayesinde girilen bilgiler yanlışsa en alttaki boş etikette set.Text fonksiyonu ile "Giriş Başarısız!" yazmasını amaçladım. Fakat giriş bilgileri yanlış girildiğinde penceredeki etikette "Giriş Başarısız!" yazmıyor ve hatalar alıyorum. Hataların ne olduğunu anlamadım, yardım ederseniz sevinirim.
belki bu yüzden degildir ama hicbi yerde türkçe karakterleri kullanmasan senin adına daha iyi olur.
Öncelikle teşekkür ederim ama javada bildiğim kadarıyla böyle bir sıkıntı olmuyor. Verilen hatadan anlaşılan araştırmam lazım yabancı kaynaklarda baya uğraştıracak.
O sorun tamamen form elamanlarının (buton, metin kutusu gibi) olay (event) fonksiyonlarının yanlış , eksik veya Swing yapısına uygunsuz düzenlenmiş olmasıyla ilgili. Bendeki Eclips'te WindowBuilder eklentisi JFrame Designer ile yaptığım örnek pencerede aynı hatayı aldım. Örnek olarak yapmak istediğim şeyse, butona tıklayınca metin kutusunda yazan 'Buraya isim ekle' yazısı yerine '--' gelmesiydi. Butonu çift tıkladım, cıkan actionPerformed(ActionEvent e) adlı fonk içine:
ekledim; yani metin kutusuna böyle müdahele edebilirim zannettin ancak çalıştırdığımda butonu tıkladığımda metin aynen kaldı hiç değişmedi. Metin kutusunun actionPerformed(ActionEvent e) fonk içine şunu ekledim:
txtBurayaIsimEkle = new JTextField(); txtBurayaIsimEkle.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //this.setTitle("---"); }
bundan sonra altta 4 satır kırmızı renkli hata mesajları geldi ve prog çalışmadı ondan sonra this.setTitle("---"); kısmını decomment yaptım ancak hata kaldı, WindowBuilder kodlara kendi müdahele ettiği için kodlar hatalı şekilde kalmış olmalı. Düzeltmedim.
Benimde asıl problemim o aslında. Kodları tek tek kendi yazdığım örneklerde bir problem yok zaten ama bu şekilde design ı kullanarak hazır kodları kullandığında problemler çıkıyor. Kodlarını tek tek kendimde yazabilirim ama o zaman da pencere üzerinde konumlandırma problemleri oluyor o yüzden designı kullandım.
Arkadaşlar sorunu tekrar baştan design yaparak çözdüm, önceki kodlara benim bazı eklemelerim yanlış olmalı ondan hata alıyordum büyük ihtimal şimdi düzelttim. Fakat şimdi sormak istediğim textfield kutusuna yazdıklarımız normalde forumlara giriş yaparken karakterlerin yıldız olması gibi nasıl gizlenebilir?
Onun için Google'da Java WindowBuilder text field password kelimeleriyle arattırdım, ilk sonuç Oracle'dan, baktım JPasswordField kullanacaksın diyordu, WindowBuilder paletinde onu bulup ekledim. Bir de güzel şey dün gece çalışmayan butona basınca metin kutusuna "--" yazdırma girişimim txtBurayaIsimEkle.setText("--") şimdi hiçbirşey yapmadan calıştı! Demek ki kodu doğru yazmışım ama başka sebepten hata vermiş olmalıydı. Hem o hem de JPasswordField ekran görüntüm:
Çok güzel, teşekkürler. JPasswordField için gerekenleri Help -> Install New Software'den mi yükledin?
Hallettim arkadaşlar, çok teşekkürler yardımlarınız için.
quote:
Orijinalden alıntı: Cuthalionx
Çok güzel, teşekkürler. JPasswordField için gerekenleri Help -> Install New Software'den mi yükledin?
Evet fakat WindowBuilder'ı yüklerden toplam 3 şey birden yükemiştim onlara dahil olabilir. Benim Eclipse te WindowsBuilder yoktu şu tut videodan bakarak yükledim onu da: Java Tutorial EP: 1 Installing and Using Window Builder
Arkadaşlar konu hakkında bir sorum daha olacak, ayrıca siz de Graphical User Interface hakkında sorularınız varsa bu konu üzerinden tartışabiliriz güzel olur. Şimdi ben design sekmesinden tasarım yaparken GroupLayout'u kullandım. Programı çalıştırdığımda pencere küçükken Swing bileşenlerinin konumunda problem yokken pencereyi büyüttüğümde sıkıntı çıkıyor bunu çözmek için nasıl bir yerleşim düzeni(layout) belirlemem gerek?
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme