Bagaimana Anda menambahkan ActionListener ke JButton di Java
private JButton jBtnDrawCircle = new JButton("Circle");
private JButton jBtnDrawSquare = new JButton("Square");
private JButton jBtnDrawTriangle = new JButton("Triangle");
private JButton jBtnSelection = new JButton("Selection");
Bagaimana cara menambahkan pendengar aksi ke tombol-tombol ini, sehingga dari metode utama saya dapat memanggil actionperformed
pada tombol-tombol tersebut, sehingga ketika tombol-tombol tersebut diklik saya dapat memanggilnya dalam program saya?
27
3
Dua cara:
Implementasikan ActionListener di kelas Anda, lalu gunakan
jBtnSelection.addActionListener(this);
Nantinya, Anda harus mendefinisikan metode,
public void actionPerformed(ActionEvent e)
. Namun, melakukan hal ini untuk beberapa tombol dapat membingungkan, karena metodeactionPerformed
harus memeriksa sumber dari setiap event (e.getSource()
) untuk melihat dari tombol mana event itu berasal.Gunakan kelas dalam anonim:
Nanti, Anda harus mendefinisikanselectionButtonPressed()
. Ini bekerja lebih baik ketika Anda memiliki beberapa tombol, karena pemanggilan Anda ke metode individual untuk menangani aksi berada tepat di sebelah definisi tombol.Metode kedua juga memungkinkan Anda untuk memanggil metode pemilihan secara langsung. Dalam hal ini, Anda bisa memanggil
selectionButtonPressed()
jika beberapa aksi lain juga terjadi - seperti, ketika timer berbunyi atau semacamnya (tetapi dalam hal ini, metode Anda akan dinamai sesuatu yang berbeda, mungkinselectionChanged()
).Cara terbaik Anda adalah meninjau tutorial Java Swing, khususnya tutorial tentang Tombol.
Potongan kode singkatnya adalah:
Saya tidak sepenuhnya mengikuti, tetapi untuk menambahkan action listener, Anda cukup memanggil addActionListener (dari Abstract Button). Jika ini tidak sepenuhnya menjawab pertanyaan Anda, dapatkah Anda memberikan beberapa detail lebih lanjut?