繁体   English   中英

如何在JOptionPane中使我的按钮执行某些操作而不关闭它?

[英]How can I make my button in JOptionPane perform some action without closing it?

我的项目中有3个按钮的对话框,我希望它们执行一些代码。 我知道这些方法会返回整数(每个按钮都不同),并且我可以使用“ if”指令来检查按下了哪个按钮并执行特定操作。 它可以工作,但起初它会关闭我不想要的对话框。 我只想通过第三个按钮或[x]关闭它。

public void popup(){
    JButton[] buttons = {new JButton("Save"),new JButton("Re-draw"),new JButton("Close")};
    if(results.size()==0){
        JOptionPane.showMessageDialog(frame, "Please fill all fields", "Error", JOptionPane.PLAIN_MESSAGE);
    }
    else{
    JList<String> resultsList = new JList(results.toArray(new String[results.size()]));
    int result = JOptionPane.showOptionDialog(frame, resultsList, "Results",JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, buttons, buttons[0]);

        }
    });
    System.out.println(result);
        if (result == 0){
            /*saving results*/
        }
        else if(result == 1){
             draw();

        }

就像我说的那样,它有效,但是按下任何按钮都会导致对话框关闭。 我不知道是否有可能禁用按钮“保存”和“重绘”的自动对话框关闭功能?

阅读Swing教程中有关停止自动对话框关闭的部分

当然,另一种选择是仅创建自己的自定义JDialog来实现所需的功能。

暂无
暂无

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

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