Java Swing İlk Program

Merhaba arkadaşlar bir önceki yazımda belirtmiş olduğum gibi şimdi sizlere javaswing yani  java masa üstü uygulamalarından bahsetmek istiyorum. Kodlar size biraz uzun gelebilir bu sizi korkutmasın burada bulunan kodların çoğunu bizim yerimize netbeans idesi yapmaktadır. İlk olarak normal proje açar gibi netbeans te file seçeneğini clickliyoruz oradan new project diyoruz. Ordanda javaapplication yazan kısmı tıklayıp projenin ismini verdikten sonra projemizi oluşturuyoruz.

Bu islemden sonra projemize bir tane hazır class gelecektir.Biz bu classı bu örnek için sileceğiz ve Sildikten sonra projenin üzerine sağ click yapıyoruz ve oradan new deyip JFrame Form seçeneğini seçiyoruz. Bu bize boş  bir çerçeve ekranı getirecektir.

Bu arada kullanmış olduğumuz ideyi netbeansin kendi resmi sitesi olan https://netbeans.org/downloads/ sitesinden sizin bilgisayarınıza uygun olan ideyi indirebilirsiniz.

Çerçeveyi kendimize göre boyutlarını ayarladıktan sonra ekrana iki tane JLabel iki tane JTextField ve bir tane JButton atıyoruz.Bunlara eğer isim vermek istersek nesnenin üzerindeyken sag click yapıp EditText deyip Ekranda görünen kısmı düzenleyebiliriz.

Kodlama yaparken özellikle büyük programlarda mecbur kalacağımız isimlendirme konusuna dikket ediyoruz.Bir tane swing nesnesinin üzerindeyken sag click yapıyoruz ve Change Variable Name seçeneğini tıklıyoruz. Oradanda istediğimiz ismi verebiliriz fakat genel olarak eger textField kullanıyorsanız txt ile başlamanız bir tane JLabel ile uğraşıyorsanız da lbl ile başlamanız JButton ile uğraşıyorsanız da Btn ile başlamanızı şiddetle tavsiye ederim…

Bu söylediklerimden sonra devam ediyoruz. Buttona sag tıklıyoruz ve oradan Eventlere tıklayıp mause ye gelip Click yazan yere tıklıyoruz.

Esasında bu programdaki tek kod yazacağımız kısıma geldik şimdi burayı dikkatli bir şekilde okuyun ve uygulamaya çalışın…

  JOptionPane.showMessageDialog(this, txtAd.getText() + ” “+txtSoyad.getText());
    Bu kodu yazdıktan sonra şimdiki ilk JavaSwing makalemizi bitirmiş oluyoruz.Aşagıda kodların tamamı vardır.Bu arara javada bir yerden bir nesneye ait bilgi çekeceğimiz zaman get kullanırız bir nesneye atama yapacağımız zaman ise seti kullanırız. JOptionPane nesnesi ekrana bir tane pop up bir nesne üretir genellikle kullanıcıya bilgi vermek maksadı ile kullanılır yada kullanıcıdan bir bilgi almak kullanılır…. txtAd ve txtSoyad nesneleri benim JTextFieldlara verdiğim isimdir kendinze göre düzenleyebilirsiniz…

Kodları veriyorum faydalı olması dileğiyle bizi takip etmeye devam etmenizi diler yazılım dolu günler geçirmenizi dilerim…

import javax.swing.JOptionPane;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
/**
 *
 * @author ramazan cesur
 */
public class Java extends javax.swing.JFrame {

    /**
     * Creates new form Java
     */
    public Java() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings(“unchecked”)
    // <editor-fold defaultstate=”collapsed” desc=”Generated Code”>                      
    private void initComponents() {

        lblAd = new javax.swing.JLabel();
        lblSoyad = new javax.swing.JLabel();
        txtAd = new javax.swing.JTextField();
        txtSoyad = new javax.swing.JTextField();
        btnEkranaYaz = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        lblAd.setText(“Adınız”);

        lblSoyad.setText(“Soyadınız”);

        btnEkranaYaz.setText(“Ekrana yaz”);
        btnEkranaYaz.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnEkranaYazMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(46, 46, 46)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lblSoyad)
                    .addComponent(lblAd))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 40, Short.MAX_VALUE)
                        .addComponent(txtSoyad, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(40, 40, 40)
                        .addComponent(txtAd)))
                .addGap(20, 20, 20))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(btnEkranaYaz)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(23, 23, 23)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblAd)
                    .addComponent(txtAd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblSoyad)
                    .addComponent(txtSoyad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 18, Short.MAX_VALUE)
                .addComponent(btnEkranaYaz)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>                    

    private void btnEkranaYazMouseClicked(java.awt.event.MouseEvent evt) {                                      
        // TODO add your handling code here:
        JOptionPane.showMessageDialog(this, txtAd.getText() + ” “+txtSoyad.getText());
    }                                    

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “>
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if (“Nimbus”.equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(Java.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(Java.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(Java.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(Java.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Java().setVisible(true);
            }
        });
    }
    // Variables declaration – do not modify                
    private javax.swing.JButton btnEkranaYaz;
    private javax.swing.JLabel lblAd;
    private javax.swing.JLabel lblSoyad;
    private javax.swing.JTextField txtAd;
    private javax.swing.JTextField txtSoyad;
    // End of variables declaration              
}

Bir tane akrabamızın kaza geçirdiğini öğrenmiş durumdayım dualarınızı bekliyorum arkadaşlar
Ramazan CESUR…