gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 10:58:21 27 4
gpt4 key购买 nike

我的项目中有一个带有 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 教程中关于 Stopping Automatic Dialog Closing 的部分.

当然,另一种选择是创建您自己的自定义 JDialog 来实现您想要的功能。

关于java - 如何使 JOptionPane 中的按钮执行某些操作而不关闭它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33483886/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com