开发手册 欢迎您!
软件开发者资料库

Jython - 对话

Jython Dialogs - 从简单和简单的步骤学习Jython,从基本到高级概念,包括概述,安装,导入Java库,变量和数据类型,使用Java集合类型,决策控制,循环,函数,模块,包,Java应用程序,Eclipse插件,Eclipse中的项目,NetBeans插件和项目,Servlet,JDBC,使用Swing GUI库,布局管理,事件处理,菜单,对话框。

Dialog对象是一个窗口,显示在用户与之交互的基本窗口的顶部.在本章中,我们将看到swing库中定义的预配置对话框.它们是 MessageDialog,ConfirmDialog InputDialog .由于JOptionPane类的静态方法,它们可用.

在下面的示例中,"文件"菜单有三个对应于上述三个对话框的JMenu项;每个都执行 OnClick 事件处理程序.

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)

OnClick()处理程序函数检索Menu的标题项目按钮并调用相应的showXXXDialog()方法.

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")

如果选择了菜单中的消息选项,则会弹出一条消息.如果单击"输入"选项,则会弹出一个要求输入的对话框.然后输入文本显示在JFrame窗口的文本框中.如果选择了确认选项,则会出现一个包含三个按钮,YES,NO和CANCEL的对话框.用户的选择记录在文本框中.

整个代码在下面和下面给出;

from javax.swing import JFrame, JMenuBar, JMenu, JMenuItem, JTextFieldfrom java.awt import BorderLayoutfrom javax.swing import JOptionPaneframe = 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)

执行上述脚本时,会显示以下窗口,菜单中有三个选项 :

Dialog

消息框

消息框

输入框

INP ut Box

确认对话框

确认对话框