繁体   English   中英

如何在JOptionPane.showConfirmDialog中处理选项类型

[英]how to handle option types in JOptionPane.showConfirmDialog

当单击JOptionPane中的按钮时,我需要一种编写一些代码来处理事件的方法。 我实际上是在使用JOptionPane插入用户名和密码,如果单击了正确的OK按钮,则JOptionPane消失,父JFrame保持活动状态,如果单击了Cancel按钮,则程序退出。 我下面的示例代码仅显示JOptionpane,单击任何按钮都将其关闭`JPanel panel = new JPanel(); panel.setLayout(new GridLayout(4,1)); //使用文本(用户名)创建标签JLabel username = new JLabel(“ Username”);

    //Create a label with text (Password)
    JLabel password = new JLabel("Password");

    //Create text field that will use to enter username
    JTextField textField = new JTextField(12);

    //Create password field that will be use to enter password
    JPasswordField passwordField = new JPasswordField(12);

    //Add label with text (username) into created panel
    panel.add(username);

    //Add text field into created panel
    panel.add(textField);

    //Add label with text (password) into created panel
    panel.add(password);

    //Add password field into created panel
    panel.add(passwordField);

    //Show JOptionPane that will ask user for username and password
    JOptionPane.showConfirmDialog(mainFrame, panel, "Enter username and password", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);`

这些对话框返回一个int值,该值可以解释为以下值之一:

  • YES_OPTION
  • NO_OPTION
  • CANCEL_OPTION
  • OK_OPTION
  • CLOSED_OPTION

例如,

final int option = JOptionPane.showConfirmDialog(mainFrame, panel, "Enter username and password", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
if(option == JOptionPane.OK_OPTION){
    // OK was pressed. Now do stuff.
}
else if(option == JOptionPane.CANCEL_OPTION){
    // Cancel was pressed. Now do stuff.
}

抢救Javadoc

返回值:

指示用户选择的选项的int

将结果与JOptionPane中定义的常量( OK_OPTIONCANCEL_OPTIONCLOSED_OPTION等)进行比较

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM