Arkadaşlar basit bir hesap makinesi kodu yazdım. Program ilk açılışta klavyeden sayıları okuyabiliyor. Ama herhangi bir butona veya textboxa basınca okumayı bırakıyor. Kod şu şekilde. quote:import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.JButton; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.SwingConstants; import java.awt.Color; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; public class HesapMakinesi { /** * Launch the application. */ protected JFrame frame; protected String islem = ""; protected double ilkSayi, ikinciSayi; protected boolean islemYapildi = true, noktaKoyuldu = false; protected JTextField txt_ekran; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { HesapMakinesi window = new HesapMakinesi(); window.frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public HesapMakinesi() { initialize(); } /** * Initialize the contents of the frame. */ private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 553, 298); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(null); frame.addKeyListener(klavyeDinleyici); frame.setFocusable(true); JPanel panel = new JPanel(); panel.setBounds(0, 0, 537, 259); frame.getContentPane().add(panel); panel.setLayout(null); txt_ekran = new JTextField(); txt_ekran.setBackground(Color.WHITE); txt_ekran.setEditable(false); txt_ekran.setText("0"); txt_ekran.setHorizontalAlignment(SwingConstants.RIGHT); txt_ekran.setBounds(10, 11, 402, 46); panel.add(txt_ekran); txt_ekran.setColumns(10); JButton btn1 = new JButton("1"); btn1.setBounds(10, 86, 89, 31); panel.add(btn1); JButton btn2 = new JButton("2"); btn2.setBounds(109, 86, 89, 31); panel.add(btn2); JButton btn3 = new JButton("3"); btn3.setBounds(208, 86, 89, 31); panel.add(btn3); JButton btn4 = new JButton("4"); btn4.setBounds(10, 130, 89, 31); panel.add(btn4); JButton btn5 = new JButton("5"); btn5.setBounds(109, 128, 89, 31); panel.add(btn5); JButton btn6 = new JButton("6"); btn6.setBounds(208, 128, 89, 31); panel.add(btn6); JButton btn7 = new JButton("7"); btn7.setBounds(10, 173, 89, 31); panel.add(btn7); JButton btn8 = new JButton("8"); btn8.setBounds(109, 170, 89, 31); panel.add(btn8); JButton btn9 = new JButton("9"); btn9.setBounds(208, 170, 89, 31); panel.add(btn9); JButton btn0 = new JButton("0"); btn0.setBounds(109, 212, 89, 31); panel.add(btn0); JButton btn_nokta = new JButton("."); btn_nokta.setBounds(10, 212, 89, 31); panel.add(btn_nokta); JButton btn00 = new JButton("00"); btn00.setBounds(208, 212, 89, 31); panel.add(btn00); btn1.addActionListener(dinleyici); btn2.addActionListener(dinleyici); btn3.addActionListener(dinleyici); btn4.addActionListener(dinleyici); btn5.addActionListener(dinleyici); btn6.addActionListener(dinleyici); btn7.addActionListener(dinleyici); btn8.addActionListener(dinleyici); btn9.addActionListener(dinleyici); btn0.addActionListener(dinleyici); btn00.addActionListener(dinleyici); btn_nokta.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (!noktaKoyuldu) { if (!islemYapildi) txt_ekran.setText(txt_ekran.getText() + "."); else { islemYapildi = false; txt_ekran.setText("0."); } noktaKoyuldu = true; } } }); JButton btn_Ce = new JButton("CE"); btn_Ce.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { txt_ekran.setText(""); } }); btn_Ce.setBounds(422, 11, 99, 46); panel.add(btn_Ce); JButton btn_arti = new JButton("+"); btn_arti.setBounds(330, 85, 89, 46); panel.add(btn_arti); JButton btn_eksi = new JButton("-"); btn_eksi.setBounds(432, 85, 89, 46); panel.add(btn_eksi); JButton btn_carpi = new JButton("X"); btn_carpi.setBounds(330, 142, 89, 46); panel.add(btn_carpi); JButton btn_bolu = new JButton("/"); btn_bolu.setBounds(432, 142, 89, 46); panel.add(btn_bolu); btn_arti.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { islem = "topla"; try { ilkSayi = Double.parseDouble(txt_ekran.getText()); } catch (NumberFormatException e1) { } txt_ekran.setText(""); } }); btn_eksi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { islem = "çıkar"; try { ilkSayi = Double.parseDouble(txt_ekran.getText()); } catch (NumberFormatException e1) { } txt_ekran.setText(""); noktaKoyuldu = false; } }); btn_carpi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { islem = "çarp"; try { ilkSayi = Double.parseDouble(txt_ekran.getText()); } catch (NumberFormatException e1) { } txt_ekran.setText(""); noktaKoyuldu = false; } }); btn_bolu.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { islem = "böl"; try { ilkSayi = Double.parseDouble(txt_ekran.getText()); } catch (NumberFormatException e1) { } txt_ekran.setText(""); noktaKoyuldu = false; } }); JButton btn_esittir = new JButton("="); btn_esittir.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ikinciSayi = Double.parseDouble(txt_ekran.getText()); switch (islem) { case "topla": ekranaYaz(String.valueOf(ilkSayi + ikinciSayi)); break; case "çıkar": ekranaYaz(String.valueOf(ilkSayi - ikinciSayi)); break; case "çarp": ekranaYaz(String.valueOf(ilkSayi * ikinciSayi)); break; case "böl": ekranaYaz(String.valueOf(ilkSayi / ikinciSayi)); break; default: break; } islemYapildi = true; islem = ""; noktaKoyuldu = false; } }); btn_esittir.setBounds(330, 199, 191, 45); panel.add(btn_esittir); } ActionListener dinleyici = new ActionListener() { public void actionPerformed(ActionEvent e) { if (!islemYapildi) { txt_ekran.setText(txt_ekran.getText() + e.getActionCommand()); } else { islemYapildi = false; txt_ekran.setText(e.getActionCommand()); } } }; KeyListener klavyeDinleyici = new KeyAdapter() { public void keyTyped(KeyEvent e) { if (e.getKeyChar() == '0' || e.getKeyChar() == '1' || e.getKeyChar() == '2' || e.getKeyChar() == '3' || e.getKeyChar() == '4' || e.getKeyChar() == '5' || e.getKeyChar() == '6' || e.getKeyChar() == '7' || e.getKeyChar() == '8' || e.getKeyChar() == '9') { if (!islemYapildi) { txt_ekran.setText(txt_ekran.getText() + e.getKeyChar()); } else { islemYapildi = false; txt_ekran.setText("" + e.getKeyChar()); } } } }; public void ekranaYaz(String sayi) { if (sayi.endsWith(".0")) txt_ekran.setText(sayi.substring(0, sayi.length() - 2)); else txt_ekran.setText(sayi); } }