• 02-03-2013, 23:01:54
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar.Daha önce desktop application oluşturarak yaptığımız basit hesap makinesini şimdi kendimiz yazacağız.Kodlar açık takıldığınız yer olursa her zaman sorabilirsiniz.






    Alıntı
    package bilisimturkorgswing;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import java.awt.GridLayout;
    import javax.swing.JButton;
    import javax.swing.JTextField;
    import javax.swing.JComboBox;
    import javax.swing.JLabel;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.ItemListener;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;


    /*
    * Bilisimturk.org tarafından yazılmıştır
    * Kullanırken Litfen kaynak gösterin
    *
    */
    public class Main extends JFrame{
    public JButton jb;
    public JComboBox cb;
    public JTextField txt1;
    public JLabel lbl1;
    public JLabel lbl2;
    public JLabel lblsonuc;
    public JTextField txt2;
    public JLabel dengele;
    public String sayi1;
    public String sayi2;
    public int s1;
    public int s2;
    public int index;
    public int sonuc;


    public class Hesapla implements ActionListener{
    /*
    Butona tıklandığında actionPerformed metodu override edilir ve
    * istediğimiz işlemler yapılır

    */
    public void actionPerformed(ActionEvent ae) {
    try{
    sayi1=txt1.getText().trim();// textfield daki sayıları alıyoruz
    sayi2=txt2.getText().trim();
    index=cb.getSelectedIndex();
    if(sayi1.equals("") || sayi2.equals("") || index==0){//eğer sayı girilmemişse ve ya işlem seçilmemişse uyarı veriyoruz
    JOptionPane.showMessageDialog(null, "Lütfen tüm alanları doldurun ve bir işlem seçin.");
    }
    else{
    s1=Integer.parseInt(sayi1);
    s2=Integer.parseInt(sayi2);

    if(index==1)
    {
    sonuc=s1+s2;
    }
    else if(index==2){
    sonuc=s1-s2;

    }
    else if(index==3){

    sonuc=s1*s2;
    }
    else if(index==4 && s2!=0) {
    sonuc=s1/s2;

    }
    else{//eğer bölen sayı 0 ise exception fırlatacak
    throw new Exception("Bir hata oluştu ve işlem gerçekleştirilemedi.\n Muhtemelen 2. sayıyı 0 olarak girdiniz");

    }

    lblsonuc.setText("<html><u>" + String.valueOf(sonuc) +"</u></html>" );//en sonda yazıyoruz

    }
    }
    catch(Exception ex){
    JOptionPane.showMessageDialog(null,ex.toString());
    }
    }
    }

    public Main(){
    setLayout(new GridLayout(4,2));
    setLocation(600,250);
    setTitle("Bilisimturk.org");
    lbl1=new JLabel("Birinci sayı :");



    txt1=new JTextField(10);
    lbl2=new JLabel("İkinci sayı :");


    txt2=new JTextField(10);


    jb=new JButton("Hesapla");
    jb.addActionListener(new Hesapla());
    String[] elemanlar={"Seçiniz","Topla","Çıkar","Çarp","B öl"};
    cb=new JComboBox(elemanlar);
    cb.setSize(50, 40);
    lblsonuc=new JLabel();
    dengele=new JLabel();

    add(lbl1);
    add(txt1);
    add(lbl2);
    add(txt2);


    add(cb);
    add(jb);
    add(dengele);
    add(lblsonuc);


    }


    public static void main(String[] args) {
    Main bilisimturk=new Main();
    bilisimturk.setSize(200,180);
    bilisimturk.setResizable(false);

    bilisimturk.setVisible(true);
    }

    }

    Kaynak:http://bilisimturk.org/forum/Java-Sw...akinesi-konusu
    Alıntı yaparken lütfen kaynak gösterin.
  • 03-03-2013, 16:39:23
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    keşke kodları kopyalayıp yapıştırmak yerine, showMessageDialog methodunun bir diyalog penceresi açma methodu olup birçok farklı biçimde dialog pencerelerinin olduğunu ve bunlardan birininde messagedialog olduğunu, jlabel'in bir label yazdırma olduğunu ve içine neden setText yapıldığını, JComboBox'ın bir çoktan seçmeli menü olduğunu ve burada, yapacağımız işlemi seçmemizi sağladığını anlatsaydınız en basitinden.Çok daha yardımcı olabilirdi.
  • 03-03-2013, 17:50:02
    #3
    Alıntı
    keşke kodları kopyalayıp yapıştırmak yerine
    Eğer bundan kastın alıntı yapmak ise programı ben yazdım basit birşey zaten.
    Kodlara yer yer açıklama ekledim ama açıklamalar yetersiz olabilir ama kodlarda akla takılan bir şey olursa yardım edeceğimi de özellikle belirttim.