Jython - Dialog
Objek Dialog adalah jendela yang muncul di atas jendela dasar tempat pengguna berinteraksi. Dalam bab ini, kita akan melihat dialog yang telah dikonfigurasi sebelumnya yang ditentukan di perpustakaan ayunan. MerekaMessageDialog, ConfirmDialog dan InputDialog. Mereka tersedia karena metode statis kelas JOptionPane.
Dalam contoh berikut, menu File memiliki tiga item JMenu yang sesuai dengan tiga dialog di atas; masing-masing mengeksekusiOnClick penanganan acara.
file = JMenu("File")
msgbtn = JMenuItem("Message",actionPerformed = OnClick)
conbtn = JMenuItem("Confirm",actionPerformed = OnClick)
inputbtn = JMenuItem("Input",actionPerformed = OnClick)
file.add(msgbtn)
file.add(conbtn)
file.add(inputbtn)
Fungsi pengendali OnClick () mengambil judul tombol Item Menu dan memanggil metode showXXXDialog () masing-masing.
def OnClick(event):
str = event.getActionCommand()
if str == 'Message':
JOptionPane.showMessageDialog(frame,"this is a sample message dialog")
if str == "Input":
x = JOptionPane.showInputDialog(frame,"Enter your name")
txt.setText(x)
if str == "Confirm":
s = JOptionPane.showConfirmDialog (frame, "Do you want to continue?")
if s == JOptionPane.YES_OPTION:
txt.setText("YES")
if s == JOptionPane.NO_OPTION:
txt.setText("NO")
if s == JOptionPane.CANCEL_OPTION:
txt.setText("CANCEL")
Jika opsi pesan dari menu dipilih, sebuah pesan akan muncul. Jika opsi Input diklik, dialog yang meminta input akan muncul. Teks input kemudian ditampilkan di kotak teks di jendela JFrame. Jika opsi Konfirmasi dipilih, dialog dengan tiga tombol, YES, NO dan CANCEL muncul. Pilihan pengguna dicatat di kotak teks.
Seluruh kode diberikan di bawah ini -
from javax.swing import JFrame, JMenuBar, JMenu, JMenuItem, JTextField
from java.awt import BorderLayout
from javax.swing import JOptionPane
frame = JFrame("Dialog example")
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
frame.setLocation(100,100)
frame.setSize(400,300)
frame.setLayout(BorderLayout())
def OnClick(event):
str = event.getActionCommand()
if str == 'Message':
JOptionPane.showMessageDialog(frame,"this is a sample message dialog")
if str == "Input":
x = JOptionPane.showInputDialog(frame,"Enter your name")
txt.setText(x)
if str == "Confirm":
s = JOptionPane.showConfirmDialog (frame, "Do you want to continue?")
if s == JOptionPane.YES_OPTION:
txt.setText("YES")
if s == JOptionPane.NO_OPTION:
txt.setText("NO")
if s == JOptionPane.CANCEL_OPTION:
txt.setText("CANCEL")
bar = JMenuBar()
frame.setJMenuBar(bar)
file = JMenu("File")
msgbtn = JMenuItem("Message",actionPerformed = OnClick)
conbtn = JMenuItem("Confirm",actionPerformed = OnClick)
inputbtn = JMenuItem("Input",actionPerformed = OnClick)
file.add(msgbtn)
file.add(conbtn)
file.add(inputbtn)
bar.add(file)
txt = JTextField(10)
frame.add(txt, BorderLayout.SOUTH)
frame.setVisible(True)
Ketika skrip di atas dijalankan, jendela berikut ditampilkan dengan tiga opsi di menu -