java ilk program etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
java ilk program etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Kasım 2012 Pazar

NetBeans İle Görsel Programlama

NetBeans Ortamında Görsel Olarak Hazırladığım Basit Bir Java Programı

Java Örnek Program
Bu program sadece bir sayının başka bir sayı ile bölümünden kalanı buluyor. Yani o sayının modunu alıyor. Biliyorum program çok basit ama burda önemli olan görsel öğelerin tasarlanması ve uygulaması. Normalde Java dilinde kalan hesaplamak için % operatörü(Mod operatörü) kullanılır. Mesela 24'ün mod 5'e göre değeri yani 24'ün 5'e bölümünden kalan 4'tür. Bunun Java dilindeki ifadesi 24%5 şeklindedir. Ancak ben bu programda başka bir yol kullandım. Kalanı hesaplayan algoritmanın denklemi şu şekildedir.




Kalan = Bölünen -(Bölünen/Bölen)*Bölen

Burada Bölünen ve Bölen Integer tipinde olduğundan bilgisayar hesaplamayı yaparken Bölünen/Bölen işlemi sonucunda bulunan ondalıklı sayının sadece tam kısmını alacak, ondalıklı kısmını atacaktır. Sonuç olarak denklem kalanı ya da diğer adıyla o sayının modunu vercektir.

NetBeans görsel tasarım ortamı aşağıdaki gibidir.

NetBeans Görsel Tasarım Ortamı

Program işe şu şekildedir

Programda iki ayrı Java Class'ı var ilki KalanHesaplama.java;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package kalanhesapla;

/**
*
* @author turgut
*/
public class KalanHesaplama extends javax.swing.JFrame {

/**
* Creates new form KalanHesaplama
*/
public KalanHesaplama() {
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")
//
private void initComponents() {

jDesktopPane1 = new javax.swing.JDesktopPane();
hakkinda = new javax.swing.JInternalFrame();
jLabel1 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
kalanhesapla = new javax.swing.JInternalFrame();
bolunenyaz = new javax.swing.JTextField();
bolenyaz = new javax.swing.JTextField();
bolumyaz = new javax.swing.JTextField();
kalanyaz = new javax.swing.JTextField();
hesaplat = new javax.swing.JButton();
sil = new javax.swing.JButton();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
Baslat = new javax.swing.JMenuItem();
cikis = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
hakkindamenu = new javax.swing.JMenuItem();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Kalan Heaplayıcı");

hakkinda.setClosable(true);
hakkinda.setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
hakkinda.setTitle("Hakkında");
hakkinda.setVisible(false);

jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
jLabel1.setText("Kalan Hesapla");

jLabel4.setText("Kişisel Java tabanlıeEğitim yazılımları çalışmalarım");

jTextArea1.setBackground(new java.awt.Color(227, 235, 247));
jTextArea1.setColumns(20);
jTextArea1.setEditable(false);
jTextArea1.setFont(new java.awt.Font("Verdana", 1, 10)); // NOI18N
jTextArea1.setForeground(new java.awt.Color(102, 102, 102));
jTextArea1.setRows(5);
jTextArea1.setTabSize(6);
jTextArea1.setText("Java eğitim yazılımı çalışmaları\n\nİletişim :\naarslan_tturgut@hotmail.com");
jTextArea1.setAutoscrolls(false);
jScrollPane1.setViewportView(jTextArea1);

javax.swing.GroupLayout hakkindaLayout = new javax.swing.GroupLayout(hakkinda.getContentPane());
hakkinda.getContentPane().setLayout(hakkindaLayout);
hakkindaLayout.setHorizontalGroup(
hakkindaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(hakkindaLayout.createSequentialGroup()
.addContainerGap()
.addGroup(hakkindaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(hakkindaLayout.createSequentialGroup()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 262, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(100, 100, 100)
.addComponent(jLabel4))
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
hakkindaLayout.setVerticalGroup(
hakkindaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(hakkindaLayout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(hakkindaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 14, Short.MAX_VALUE))
);

hakkinda.setBounds(10, 20, 300, 150);
jDesktopPane1.add(hakkinda, javax.swing.JLayeredPane.DEFAULT_LAYER);

kalanhesapla.setClosable(true);
kalanhesapla.setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
kalanhesapla.setTitle("Kalan Hesapla");
kalanhesapla.setVisible(false);

bolunenyaz.setText("Bölünen");
bolunenyaz.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bolunenyazActionPerformed(evt);
}
});

bolenyaz.setText("Bölen");
bolenyaz.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
bolenyazActionPerformed(evt);
}
});

bolumyaz.setEditable(false);
bolumyaz.setText("Bölüm");

kalanyaz.setEditable(false);
kalanyaz.setText("Kalan");
kalanyaz.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
kalanyazActionPerformed(evt);
}
});

hesaplat.setText("Hesapla");
hesaplat.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
hesaplatActionPerformed(evt);
}
});

sil.setText("Sil");
sil.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
silActionPerformed(evt);
}
});

javax.swing.GroupLayout kalanhesaplaLayout = new javax.swing.GroupLayout(kalanhesapla.getContentPane());
kalanhesapla.getContentPane().setLayout(kalanhesaplaLayout);
kalanhesaplaLayout.setHorizontalGroup(
kalanhesaplaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(kalanhesaplaLayout.createSequentialGroup()
.addGap(22, 22, 22)
.addGroup(kalanhesaplaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(bolunenyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bolenyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(bolumyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(kalanyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(kalanhesaplaLayout.createSequentialGroup()
.addComponent(hesaplat)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(sil)))
.addContainerGap(32, Short.MAX_VALUE))
);
kalanhesaplaLayout.setVerticalGroup(
kalanhesaplaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(kalanhesaplaLayout.createSequentialGroup()
.addContainerGap()
.addComponent(bolunenyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bolenyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(bolumyaz, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(kalanyaz, javax.swing.GroupLayout.DEFAULT_SIZE, 33, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(kalanhesaplaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(hesaplat)
.addComponent(sil))
.addContainerGap())
);

kalanhesapla.setBounds(70, 20, 190, 240);
jDesktopPane1.add(kalanhesapla, javax.swing.JLayeredPane.DEFAULT_LAYER);

jMenu1.setText("File");

Baslat.setText("Başla");
Baslat.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
BaslatActionPerformed(evt);
}
});
jMenu1.add(Baslat);

cikis.setText("Çıkış");
cikis.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cikisActionPerformed(evt);
}
});
jMenu1.add(cikis);

jMenuBar1.add(jMenu1);

jMenu2.setText("Yardım");

hakkindamenu.setText("Hakkında");
hakkindamenu.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
hakkindamenuActionPerformed(evt);
}
});
jMenu2.add(hakkindamenu);

jMenuBar1.add(jMenu2);

setJMenuBar(jMenuBar1);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jDesktopPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jDesktopPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 279, Short.MAX_VALUE)
);

pack();
}//


private void hakkindamenuActionPerformed(java.awt.event.ActionEvent evt) {
hakkinda.show();
}

private void BaslatActionPerformed(java.awt.event.ActionEvent evt) {
kalanhesapla.show();
}

private void cikisActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}

private void bolenyazActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void bolunenyazActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}

private void kalanyazActionPerformed(java.awt.event.ActionEvent evt) {

}

private void silActionPerformed(java.awt.event.ActionEvent evt) {
kalanyaz.setText("Kalan");
bolunenyaz.setText("Bölünen");
bolumyaz.setText("Bölüm");
bolenyaz.setText("Bölen");

}

private void hesaplatActionPerformed(java.awt.event.ActionEvent evt) {
islem calis=new islem();
String sonucu=calis.sonuc(bolunenyaz.getText(), bolenyaz.getText());
kalanyaz.setText("Kalan : "+sonucu);
bolumyaz.setText("Bölüm : "+Integer.toString(calis.bolum));

}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/*
* Set the Nimbus look and feel
*/
//
/*
* 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(KalanHesaplama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(KalanHesaplama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(KalanHesaplama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(KalanHesaplama.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//


/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new KalanHesaplama().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JMenuItem Baslat;
private javax.swing.JTextField bolenyaz;
private javax.swing.JTextField bolumyaz;
private javax.swing.JTextField bolunenyaz;
private javax.swing.JMenuItem cikis;
private javax.swing.JInternalFrame hakkinda;
private javax.swing.JMenuItem hakkindamenu;
private javax.swing.JButton hesaplat;
private javax.swing.JDesktopPane jDesktopPane1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel4;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JInternalFrame kalanhesapla;
private javax.swing.JTextField kalanyaz;
private javax.swing.JButton sil;
// End of variables declaration
}
İkinci Java Class'ı ise islem.java;

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package kalanhesapla;

/**
*
* @author turgut
*/
public class islem {

int bolunen;
int bolen;
int bolum;
int kalan;
public String sonuc(String b,String b1){
String kalani="";
bolunen=Integer.parseInt(b);
bolen=Integer.parseInt(b1);
bolum=bolunen/bolen;
kalan=bolunen-(bolunen/bolen)*bolen;
kalani=Integer.toString(kalan);
return kalani;
}
}



Turgut Arslan

10 Eylül 2012 Pazartesi

Java'ya Başlamak

Java Başlangıç

Java kodlaması kolay ve eğlenceli bir dildir. Ancak Java'da, PHP ve PHP tarzı script dillerine göre oldukça katı kurallar hüküm sürmektedir. Java'da oluşturulan değişkenlerin tip korumalı olması bu kurallaın başında gelir. Java'da Integer(tamsayı) tipinde oluşturulan değişkenlere double String ya da Character tipinden değerler atayamazsınız. Sayısal değişkenlere sayısal değerler, karakter değişkenlerine karakter değerleri atanabilir. PHP'de ise sayısal değer atadığınız bir değişkene programın başka bir yerinde karakter değerleri(harfler semboller vs.) atayabilirsiniz. PHP'de tip koruması yoktur. Esaen Java ile kodlamayı kolaylaştıran  Netbeans ve Eclipse adlı program geliştime ortamlarının varolmasıdır. Bu programlar yazdığınız kodları özelliklerine göre renklendirir. Ayrıca yazım hatalarını denetleyerek hızlı ve hatasız kodlama imkanı sunar. Netbeans ve Eclipse programlarını internetten ücretsiz olarak indirebilirsiniz.
eclipse
netbeans
Bu konuları daha sonraki Java çalışmalarımızda ayrıntılı olarak inceleyeceğiz. Şimdi programcılığın en köklü geleneğine uyalımve bir "Merhaba Dünya" programı ile Java programlamaya başlayalım.

İlk Java Programım


public class MerhabaDunya{
     public static void main(String[] args){
      String merhaba="Merhaba Dünya";
      System.out.print("Merhaba Dünya");
      System.out.println("Merhaba Dünya");
      System.out.printf("%s",merhaba);
     }// main method sonu

}// MerhabaDunya class sonu

Bu programı Eclipse ya da Netbeans  ortamında yazıp çalıştırırsanız çıktısı şu şekilde olacaktır:
Mehaba Dünya
Merhaba Dünya
Merhaba Dünya

Programın nasıl çalıştığını kısaca inceleyecek olursak;
public class MerhabaDunya programın main(ana) class'ı ile java dosyanız aynı isimde olmalıdır. Aksi takdirde programınız çalışmaz.
 public static void main(String[] args)programınızın main(ana) clas'ı dır.Java programları birbirlerine bağlı birçok class dosyasından oluşabilir. Java Virtual Machine hazırladığınız program classları arasından main methodunun olduğu class'ı arar ve ordan çalıştırmaya başlar .  Programınızın çalışması için hazırladığınız classlardan bir tanesinde main methodunun olması gerekir. 
String merhaba="Merhaba Dünya";  merhaba adında bir String değişkeni oluşturulur ve bu değişkene "Merhaba Dünya" değeri atanır.
System.out.print("Merhaba Dünya"); ekrana "Merhaba Dünya" yazdırır.
System.out.println("Merhaba Dünya"); ekrana bir satır atlatarak"Merhaba Dünya" yazdırır.
System.out.printf("%s",merhaba); ekrana merhaba adlı değişkenin değeri olan "Merhaba Dünya" yazdırır. "%s" değeri ekrana yazdırılacak olan değişkenin bir String değişken olduğunu gösteriri. "System.out.printf()" kodu ekran çıktısının önceden belirlenen formatta yazıdırılmasını sağlar. 

Böylellikle ilk java programımızı da yazmış ve Java ile programlama dünyasına da ilk adımımızı atmış olduk. Hayırlı olsun :))



Turgut Arslan