![](/img/trans.png)
[英]How to perform action on OK of JOptionPane.showMessageDialog
[英]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.