. .

BAGIAN KE SEPULUH: Memahami Tindakan Objek (Events) Java Forrm Di Java Form (GUI) Pada NetBeans IDE

Posted by CHRISTIANTO D,WIBOWO | D3MI-2016 STMIK BUMI GORA On Rabu, Januari 25, 2017 No comments

BAGIAN KE SEPULUH: About Events For Java Form Objects (GUI) In NetBeans IDE, Sebelum kita meneruskan mempelajari pembelajaran ini, ada baiknya kita baca artikel-artikel sebelumnya yang terhubung dengan langkah-langkah pembelajaran ini (Link) BAHASA PEMROGRAMAN JAVA PADA NETBEANS IDE.
Big A Lot Of Gratitude To This Learning Resources:
Sebagai refrensi, kita bisa melihat JAVA NETBEANS IDE - MEMBUAT PROGRAM DAN ALGORITMA SERTA FLOWCHART KALKULATOR SEDERHANA, disana kita akan mendapat teori penjelasan singkat, semua langsung pada prakteknya dan kita dipersilahkan mengkopi java code-nya, dan disini kita akan mendapatkan penjelasan detailnya.

Masih dalam Project MyCalculator, dengan Package jCalculator, serta class yang disebut class JavaCalculator.java yang sudah kita buat sebelumnya.

Kita sudah membuat dan memahami :
Dan sekarang kita akan mempelajari pemahaman tindakan/aksi/action dari objek Java Form (GUI) - About Events For Java Form Objects (GUI) In NetBeans IDE.
Dalam istilah pemrograman, sebuah Events adalah ketika sesuatu yang khusus terjadi. Untuk sebuah Form, ini berarti hal-hal seperti tombol yang diklik/dipilih, mouse bergerak, teks yang dimasukkan ke dalam TextField, penutupan pemrograman, dan banyak lagi.

Events adalah objek di Java. Events berasal dari serangkaian class yang disimpan di  java.util.EvenObject . Ketika tombol diklik/dipilih, tombol tersebut dikatakan sumber dari Events. Tetapi tindakan dari mengklik menghasilkan objek Events. Objek Events kemudian mencari sebuah objek yang disimak/melakukan tindakan untuk, katakanlah, klik dari mouse, atau keystroke, atau Events lainnya yang dapat terjadi pada form. Sebuah TextField, misalnya, bisa menyimak/melakukan tindakan keluar dari keystroke atau drop down box bisa menyimak//melakukan tindakan untuk keluar dari item dalam daftar yang sudah diklik.

Objek yang berbeda (sumber) juga akan menyulut/trigger/fire tindakan/Events yang berbeda. Untuk tombol, tindakan/Events-nya yang disulut adalah ActionListener tersebut. Dan bagi TextField, itulah yang menjadi KeyEvent. Pikirkan seperti ini: objek tindakan/Events bertanggung jawab untuk melewati pesan kembali - message back dan maju - forward diantara objek form yang memiliki sesuatu yang terjadi pada mereka, dan objek-objek itu akan menunggu untuk sesuatu yang akan terjadi. 

Terdengar sedikit rumit, tetapi jangan khawatir - itu memang rumit ! Tapi beberapa contoh pemrograman mungkin akan memperjelas hal tersebut. Pertama, sebuah masalah tentang bagaimana Java program kalkulator kita akan bekerja ? ini adalah contoh kasusnya dan kita akan gali sampai kita 100% memahaminya dan tidak akan menjadi rumit.
Jika anda baru saja sampai pada pembahasan ini, maka anda akan merasakan kerumitannya, dan anda akan mundur menutup browser atau beralih ke site yang lain, tetapi jika anda ingin terus maju dan mau mengikuti dari awal pembelajaran ini, sedikit banyaknya anda akan memahaminya - BAHASA PEMROGRAMAN JAVA PADA NETBEANS IDE.
Jika kita ingin menambahkan 3 + 2, pertama kita perlu mengklik tombol 3. Angka 3 kemudian akan muncul di bidang teks - TextField. Tombol plus diklik berikutnya, dan ini mengingatkan program untuk fakta bahwa kita ingin menambahkan sesuatu. Hal ini juga akan menghapus bidang teks - TextField siap untuk angka berikutnya. Angka berikutnya adalah 2, dan kita menyimpan nilai ini bersama dengan angka 3. Tombol sama dengan akan diklik untuk mendapatkan hasilnya, dan ini adalah di mana kita mengambil angka-angka yang tersimpan (3 dan 2) dan menambahkan angka-angka tersebut. Akhirnya, jawabannya akan disimpan dan ditampilkan dalam bidang teks - TextField.

Masalah pertama adalah bagaimana untuk mendapatkan angka-angka pada tombol. Kita dapat melakukan ini dengan kembali ke properti teks dari tombol. Setelah kita memiliki teks, kita bisa memasukkannya ke dalam kotak teks. Tapi kita perlu ActionEvent ketika tombol tersebut nantinya diklik/dipilih.

Dalam tampilan Design di NetBeans, pilih tombol angka 1, kemudian kita lihat di jendela Navigator di bagian kiri bawah. Kita akan menemukan tombol btnOne, lalu klik kanan untuk melihat menu yang muncul berikutnya:


Pilih Event dari menu. Dari submenu, klik Action, dan kemudian actionPerformed:


Ketika kita mengklik pada actionPerformed, kita akan membuat rintisan kode untuk btnOne:
private void btnOneActionPerformed(java.awt.event.ActionEvent evt) {

                              // TODO add your handling code here:

}
Baris pertama agak terlihat panjang. Tapi itu hanya sebuah metode dengan objek ActionEvent antara kurung bulat - (java.awt.event.ActionEvent evt). Ketika tombol angka 1 diklik, kode apapun yang kita tulis antara kurung keriting akan dijalankan -   // TODO add your handling code here:.

Writing code for the numbers buttons on our Java Calculator
Sekarang waktunya kita akan menulis baris kode pada masing-masing tombol angka pada Kalkulator Java kita. Untuk mendapatkan teks dari Form objek, kita dapat menggunakan getText method dari objek (jika memiliki salah satu). Jadi untuk mendapatkan teks untuk btnOne kita bisa menggunakan kode ini:
String btnOneText = btnOne.getText( );
Untuk mendapatkan teks dari kolom TextField, kita bisa melakukan ini:
String textfieldText = txtDisplay.getText( );
Namun, jika ingin memasukkan sesuatu ke dalam kolom TextField, metode untuk digunakan adalah setText:
txtDisplay.setText( btnOneText );
Cobalah. Tambahkan kode ini ke rintisan kode kita:
private void btnOneActionPerformed(java.awt.event.ActionEvent evt) {

String btnOneText = btnOne.getText( );
txtDisplay.setText(btnOneText);

}
Jalankan program untuk menguji hasilnya. Klik tombol angka 1 dan kita akan menemukan bahwa angka 1 akan muncul dalam TextField :


Ada masalah, bagaimana jika kita ingin memasukkan angka 11, atau angka 111? Ketika kita mengklik tombol berulang kali, tidak ada yang lain yang terjadi. Angka yang muncul selalu 1 saja, tidak peduli berapa kali kita klik.

Alasannya karena kode kita tidak menyimpan apa pun di TextField sebelumnya. TextField hanya menempatkan angka 1 di sana. Jika kita ingin angka 11, kita harus menjaga angka 1 pertama. Untuk melakukan itu, kita hanya bisa mendapatkan teks dari kolom TextField dan menggabungkannya dengan tombol teks. Rubahlah baris pertama dari kode kita menjadi ini :
String btnOneText = txtDisplay.getText() + btnOne.getText();
Sekarang kita mengatakan mendapatkan teks dari kolom teks dan menggabungkannya dengan tombol teks baru, dan menyimpan hasil dalam variabel yang disebut btnOneText.
Jalankan programnya lagi, dan klik tombol angka 1 beberapa kali. kita akan menemukan bahwa TextField akan menampilkan serangkaian angka 1:
private void btnOneActionPerformed(java.awt.event.ActionEvent evt) {                                    
        String btnOneText = txtDisplay.getText() + btnOne.getText();
        txtDisplay.setText(btnOneText);
    }


Kita dapat menambahkan kode yang sama untuk semua tombol setiap angka-angka pada kalkulator. Kembali ke tampilan desain. Klik kanan di area Navigator, cara lain untuk menambahkan tombol aksi adalah klik dua kali masing-masing variabel tombol-tombol angka. Jadi klik ganda tombol angka 2. Sebuah rintisan kode akan dibuat, seperti yang kita lakukan pada tombol angka 1.
Tambahkan kode berikut untuk btnTwo:
private void btnTwoActionPerformed(java.awt.event.ActionEvent evt) {                                  
        String btnTwoText = txtDisplay.getText() + btnTwo.getText();
        txtDisplay.setText( btnTwoText );
    }
Satu-satunya perbedaan dengan kode adalah nama dari variabel String (disebut btnTwoText), dan fakta bahwa kita mendapatkan teks dari btnTwo. Di antara kurung putaran setText, kita melewati nama variabel String.
Jalankan programnya lagi. Kita sekarang dapat mengklik tombol angka 1 dan 2 dan memiliki teks muncul di TextField:


Tambahkan kode yang sama untuk semua tombol angka di form kalkulator. klik ganda masing-masing tombol untuk mendapatkan rintisan kode, dan menambahkan dua baris kode untuk setiap tombol angka. Kita akan perlu mengubah nama variabel String. Berikut kode untuk tombol angka 3:
private void btnThreeActionPerformed( java.awt.event.ActionEvent evt ) {
                  String btnThreeText = txtDisplay.getText() + btnThree.getText();
                  txtDisplay.setText( btnThreeText );

}
Kita dapat meng-copy dan paste kode yang sudah kita miliki. Kemudian hanya mengubah String nama variabel, nama tombol setelah bagian btnFour....btnZero, dan bagian antara kurung putaran setText. Jika kita melihat garis bawah merah maka kita tahu bahwa telah terjadi sesuatu yang salah.

Kode berwarna Biru harus diganti sesuai tombol angka dan variabel string-nya :
private void btnFourActionPerformed( java.awt.event.ActionEvent evt ) {
                  String btnFourText = txtDisplay.getText() + btnFour.getText();
                  txtDisplay.setText( btnFourText );

}

Setelah selesai, kode untuk semua tombol angka akan terlihat seperti ini :
/**
     * 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() {

        txtDisplay = new javax.swing.JTextField();
        jPanel1 = new javax.swing.JPanel();
        btnOne = new javax.swing.JButton();
        btnTwo = new javax.swing.JButton();
        btnThree = new javax.swing.JButton();
        btnFour = new javax.swing.JButton();
        btnFive = new javax.swing.JButton();
        btnSix = new javax.swing.JButton();
        btnSeven = new javax.swing.JButton();
        btnEight = new javax.swing.JButton();
        btnNine = new javax.swing.JButton();
        btnZero = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        btnPlus = new javax.swing.JButton();
        btnEquals = new javax.swing.JButton();
        btnClear = new javax.swing.JButton();
        labelImage = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Calculator");

        txtDisplay.setFont(new java.awt.Font("Arial Black", 0, 18)); // NOI18N

        btnOne.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnOne.setText("1");
        btnOne.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnOneActionPerformed(evt);
            }
        });

        btnTwo.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnTwo.setText("2");
        btnTwo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnTwoActionPerformed(evt);
            }
        });

        btnThree.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnThree.setText("3");
        btnThree.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnThreeActionPerformed(evt);
            }
        });

        btnFour.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnFour.setText("4");
        btnFour.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnFourActionPerformed(evt);
            }
        });

        btnFive.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnFive.setText("5");
        btnFive.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnFiveActionPerformed(evt);
            }
        });

        btnSix.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnSix.setText("6");
        btnSix.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSixActionPerformed(evt);
            }
        });

        btnSeven.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnSeven.setText("7");
        btnSeven.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSevenActionPerformed(evt);
            }
        });

        btnEight.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnEight.setText("8");
        btnEight.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEightActionPerformed(evt);
            }
        });

        btnNine.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnNine.setText("9");
        btnNine.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnNineActionPerformed(evt);
            }
        });

        btnZero.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnZero.setText("0");
        btnZero.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnZeroActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(btnOne, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(btnTwo, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(28, 28, 28)
                        .addComponent(btnThree, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addComponent(btnFour, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(btnFive, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(btnSix, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(btnZero, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(jPanel1Layout.createSequentialGroup()
                                .addComponent(btnSeven, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(btnEight, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(btnNine, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnTwo, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnThree, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnOne, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnFour, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnFive, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnSix, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(btnSeven, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnEight, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnNine, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btnZero, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(0, 10, Short.MAX_VALUE))
        );

        btnPlus.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnPlus.setText("+");

        btnEquals.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnEquals.setText("=");

        btnClear.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        btnClear.setText("Clear");

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnClear, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addGap(9, 9, 9)
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(btnEquals, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(btnPlus, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnPlus, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btnEquals, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(btnClear, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        labelImage.setIcon(new javax.swing.ImageIcon("D:\\@ WEB PROJECT\\@YU ERL IE\\JAVA N NETBEANS\\MyCalculator\\bumigora.png")); // NOI18N
        labelImage.setText("jLabel2");

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(txtDisplay)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelImage, javax.swing.GroupLayout.PREFERRED_SIZE, 74, javax.swing.GroupLayout.PREFERRED_SIZE)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(txtDisplay, javax.swing.GroupLayout.PREFERRED_SIZE, 51, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(labelImage))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
        );

        pack();
    }// </editor-fold>                      
    private void btnOneActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String btnOneText = txtDisplay.getText() + btnOne.getText();
        txtDisplay.setText(btnOneText);
    }                                      

    private void btnTwoActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String btnTwoText = txtDisplay.getText() + btnTwo.getText();
        txtDisplay.setText( btnTwoText );
    }                                      

    private void btnThreeActionPerformed(java.awt.event.ActionEvent evt) {                                         
        String btnThreeText = txtDisplay.getText() + btnThree.getText();
        txtDisplay.setText( btnThreeText );
    }                                        

    private void btnFourActionPerformed(java.awt.event.ActionEvent evt) {                                        
        String btnFourText = txtDisplay.getText() + btnFour.getText();
        txtDisplay.setText( btnFourText );
    }                                       

    private void btnFiveActionPerformed(java.awt.event.ActionEvent evt) {                                        
        String btnFiveText = txtDisplay.getText() + btnFive.getText();
        txtDisplay.setText( btnFiveText );
    }                                       

    private void btnSixActionPerformed(java.awt.event.ActionEvent evt) {                                       
        String btnSixText = txtDisplay.getText() + btnSix.getText();
        txtDisplay.setText( btnSixText );
    }                                      
    
    private void btnSevenActionPerformed(java.awt.event.ActionEvent evt){
        String btnSevenText = txtDisplay.getText() + btnSeven.getText();
        txtDisplay.setText( btnSevenText );
    }
    
    private void btnEightActionPerformed(java.awt.event.ActionEvent evt){
        String btnEightText = txtDisplay.getText() + btnEight.getText();
        txtDisplay.setText( btnEightText );
    }
    
    private void btnNineActionPerformed(java.awt.event.ActionEvent evt){
        String btnNineText = txtDisplay.getText() + btnNine.getText();
        txtDisplay.setText( btnNineText );
    }
    
    private void btnZeroActionPerformed(java.awt.event.ActionEvent evt){
        String btnZeroText = txtDisplay.getText() + btnZero.getText();
        txtDisplay.setText( btnZeroText );
    }

Jalankan Java program kalkulator dan mengujinya, kita harus dapat memasukkan semua dari angka 0 sampai 9 :

Pada bagian berikutnya, Kita akan menulis Java kode untuk tombol Plus pada kalkulator kita -  The Calculator Plus Button.

0 komentar:

Posting Komentar