Jython - Menu
Sebagian besar aplikasi berbasis GUI memiliki bilah Menu di bagian atas. Ini ditemukan tepat di bawah bilah judul dari jendela tingkat atas. Paket javax.swing memiliki fasilitas yang rumit untuk membangun sistem menu yang efisien. Itu dibangun dengan bantuanJMenuBar, JMenu dan JMenuItem kelas.
Dalam contoh berikut, bilah menu disediakan di jendela tingkat atas. Menu File yang terdiri dari tiga tombol item menu ditambahkan ke bilah menu. Sekarang mari kita persiapkan objek JFrame dengan tata letak yang disetel ke BorderLayout.
frame = JFrame("JMenuBar example")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setLocation(100,100)
frame.setSize(400,300)
frame.setLayout(BorderLayout())
Sekarang, objek JMenuBar diaktifkan dengan metode SetJMenuBar ().
bar = JMenuBar()
frame.setJMenuBar(bar)
Selanjutnya, objek JMenu yang memiliki judul 'File' dideklarasikan. Tiga tombol JMenuItem ditambahkan ke menu File. Ketika salah satu item menu diklik, fungsi pengendali ActionEvent OnClick () dijalankan. Ini didefinisikan dengan properti actionPerformed.
file = JMenu("File")
newfile = JMenuItem("New",actionPerformed = OnClick)
openfile = JMenuItem("Open",actionPerformed = OnClick)
savefile = JMenuItem("Save",actionPerformed = OnClick)
file.add(newfile)
file.add(openfile)
file.add(savefile)
bar.add(file)
Penangan kejadian OnClick () mengambil nama tombol JMenuItem dengan fungsi gwtActionCommand () dan menampilkannya di kotak teks di bagian bawah jendela.
def OnClick(event):
txt.text = event.getActionCommand()
Objek menu File ditambahkan ke bilah menu. Akhirnya, kontrol JTextField ditambahkan di bagian bawah objek JFrame.
txt = JTextField(10)
frame.add(txt, BorderLayout.SOUTH)
Seluruh kode menu.py diberikan di bawah ini -
from javax.swing import JFrame, JMenuBar, JMenu, JMenuItem, JTextField
from java.awt import BorderLayout
frame = JFrame("JMenuBar example")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setLocation(100,100)
frame.setSize(400,300)
frame.setLayout(BorderLayout())
def OnClick(event):
txt.text = event.getActionCommand()
bar = JMenuBar()
frame.setJMenuBar(bar)
file = JMenu("File")
newfile = JMenuItem("New",actionPerformed = OnClick)
openfile = JMenuItem("Open",actionPerformed = OnClick)
savefile = JMenuItem("Save",actionPerformed = OnClick)
file.add(newfile)
file.add(openfile)
file.add(savefile)
bar.add(file)
txt = JTextField(10)
frame.add(txt, BorderLayout.SOUTH)
frame.setVisible(True)
Ketika skrip di atas dieksekusi menggunakan interpreter Jython, sebuah jendela dengan menu File akan muncul. Klik di atasnya dan tiga item menunya akan turun. Jika ada tombol yang diklik, namanya akan ditampilkan di kontrol kotak teks.