Hüseyin42
Megapat
- Katılım
- 21 Şubat 2015
- Mesajlar
- 6.798
- Makaleler
- 15
- Çözümler
- 48
Daha fazla
- Cinsiyet
- Erkek
Teşekkürler, sakın aratıp google resimlere bakmayın.Swinger GUI.
Teşekkürler, sakın aratıp google resimlere bakmayın.Swinger GUI.
Kodu derleyip denemedim ama butonlar ve background ayarları olduğuna göre tahminen bir GUI'si var.Bu kod CMD ekranında mı çalışıyor yoksa herhangi bir formu var mı?
Farkindaydim ama exe donusumunde bazi aksakliklar yasayinca usendim.Küçük bir program ama yine de version ve appname değişkenleri oluştursanız ve
Java:setTitle(appname + " | " + version );
şeklinde başlık ayarlasaydınız kod tekrar etmemiş olurdunuz.
Hocam yanlis yazdim ama hemen duzelttim.Teşekkürler, sakın aratıp google resimlere bakmayın.
computerAnswer[0] = "Oynamayı bilmiyorsun galiba :d";
computerAnswer[1] = "Eee, bana artık bi' pizza ısmarlarsın :)";
computerAnswer[2] = "Ambulansı aramamı ister misin? Beynin eriyor da...";
computerAnswer[3] = "Bilgisayarlar daha zekidir!";
computerAnswer[4] = "40 senedir oynuyorum böyle kötü oynayan görmedim :}";
computerAnswer[4] = "Uykum geldi ya, yenmek ne kadar da yorucu işmiş..."; // hatta 5 olmalı
String[] computerAnswer = {
"Oynamayı bilmiyorsun galiba :d",
"Eee, bana artık bi' pizza ısmarlarsın :)",
"Ambulansı aramamı ister misin? Beynin eriyor da...",
"Bilgisayarlar daha zekidir!",
"40 senedir oynuyorum böyle kötü oynayan görmedim :}",
"Uykum geldi ya, yenmek ne kadar da yorucu işmiş..."
};
//Makas butonu.
btnC.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
computerCard[0] = gameCard[(byte) (Math.random() * 3)];
if (computerCard[0].equals("makas"))
{
txtStatu.setText("Berabere!");
}
.
.
.
//Makas butonu.
btnC.addActionListener(e -> {
computerCard[0] = gameCard[(byte) (Math.random() * 3)];
if (computerCard[0].equals("makas"))
{
txtStatu.setText("Berabere!");
}
.
.
.
==
yerine .equals("")
ile kontrol etmeniz hoş. Çoğu kişi bu detayı umursamaz.Tesekkur ederim. Kendimi gelistirmek icin oylesine bir seyler deneyeyim dedigim bir projeydi fakat bircok yeni sey ogrendim. Bunlardan bazilari da sizin sayenizde. Acikcasi ben kodlari kendi adima pek verimli bulmadım. Bircok hatam oldu, farkindaydim fakat jar uzantisini exe'ye cevirmek icin kullandigim program cok mizmizlık yapinca artik sıkıldım ve rutuslari simdilik yapmaktan vazgectim. Yarin daha detayli incelryecegim ve clean code ile daha az satirla daha cok sey yapmaya calisacagim. Ama GUI Allah'a emanet. Sizce de oyle degil mi?Bir kaç küçük detay haricinde fena olmayan bir kod. Java GUI tarafında JavaFX kullanan birisi Swing'e birazcık yabancıyım.
Java:computerAnswer[0] = "Oynamayı bilmiyorsun galiba :d"; computerAnswer[1] = "Eee, bana artık bi' pizza ısmarlarsın :)"; computerAnswer[2] = "Ambulansı aramamı ister misin? Beynin eriyor da..."; computerAnswer[3] = "Bilgisayarlar daha zekidir!"; computerAnswer[4] = "40 senedir oynuyorum böyle kötü oynayan görmedim :}"; computerAnswer[4] = "Uykum geldi ya, yenmek ne kadar da yorucu işmiş..."; // hatta 5 olmalı
Yerine;
Yapılabilir.Java:String[] computerAnswer = { "Oynamayı bilmiyorsun galiba :d", "Eee, bana artık bi' pizza ısmarlarsın :)", "Ambulansı aramamı ister misin? Beynin eriyor da...", "Bilgisayarlar daha zekidir!", "40 senedir oynuyorum böyle kötü oynayan görmedim :}", "Uykum geldi ya, yenmek ne kadar da yorucu işmiş..." };
Java://Makas butonu. btnC.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { computerCard[0] = gameCard[(byte) (Math.random() * 3)]; if (computerCard[0].equals("makas")) { txtStatu.setText("Berabere!"); } . . .
Java 8 ile birlikte gelen Lambda Expressionlar kullanılarak;
Java://Makas butonu. btnC.addActionListener(e -> { computerCard[0] = gameCard[(byte) (Math.random() * 3)]; if (computerCard[0].equals("makas")) { txtStatu.setText("Berabere!"); } . . .
Haline getirilebilir. Anonim Inner Class'tan daha okunaklı bir kod elde etmiş olursunuz.
Stringleri==
yerine.equals("")
ile kontrol etmeniz hoş. Çoğu kişi bu detayı umursamaz.
Her şeyin tek bir method içerisinde olması birazcık okunabilirliği ve modülerliği baltalıyor.
Aslında hata bende. Default layout uzerinden gidince beni zorladı. Bi' sacmaliyor IDE ara ara. Belki 40 kere bastan yapmisimdir.Modern GUI tarafında JavaFX kullanılabilir. CSS desteği vs ile Web Sitesi kalitesine yakın GUI'ler elde edilebilir. GUI, tasarım işi olduğu için sadece Freamwork değil yapan kişinin de yeteneği önemli. Sırf Swing diye kötü olacak, jfx olduğu için de iyi olacak diye bir kaide yok.
Eki Görüntüle 947769 Eki Görüntüle 947771
İkisi de JavaFx ile yapılmış. Aradaki fark yapan kişi.
Swing ile yapılmış gördüğüm en iyi GUI'ler JetBrains'in IDE'leri. Kendileri, kendi özelleştirdikleri OpenJDK üzerinden Swing ve AWT kullanıyorlar.
Girintileme kurallarına uymak kod okunabilirliğini arttıran özelliklerdendir. Programınızı bu haliyle okumak oldukça zor.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.