Bu koda 10 üzerinden kaç verirsiniz?

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.
 
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.
Farkindaydim ama exe donusumunde bazi aksakliklar yasayinca usendim.😅
Teşekkürler, sakın aratıp google resimlere bakmayın. :D
Hocam yanlis yazdim ama hemen duzelttim.😅
20210329_224834.png
 
Son düzenleme:
Bir kaç küçük detay haricinde fena olmayan bir kod. Java GUI tarafında JavaFX kullanan birisi olarak 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;

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ş..."
    };
Yapılabilir.



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.
 
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;

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ş..."
    };
Yapılabilir.



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.
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?😅
 
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.

1617048772686.png
1617048820463.png


İ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.
 
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.
Aslında hata bende. Default layout uzerinden gidince beni zorladı. Bi' sacmaliyor IDE ara ara. Belki 40 kere bastan yapmisimdir.
 

Geri
Yukarı