0
我在我的项目中有3个按钮的对话框,我希望他们执行一些代码。我知道这些方法返回整数(每个按钮都不相同),我可以使用“if”指令来检查按下哪个按钮并执行特定操作。它起作用,但起初它关闭了对话,这不是我想要的。我只想通过第三个按钮或[x]关闭它。如何使JOptionPane中的按钮执行某些操作而不关闭它?
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();
}
正如我所说,它的工作原理,但按任何按钮结果关闭对话框。我不知道它的可能禁用自动对话框关闭按钮“保存”和“重绘”?
请在您的问题中包含证明问题所需的最少量代码。 – blm
没有看到代码它很难说,但我会打赌......如果你有一个对话框,这意味着你有源...做你想要在点击处理程序中的按钮的工作。 –
也许给'showOptionPane'一个镜头而不是'showMessageDialog'?查看此页面上的“创建并显示简单对话框”:https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html页面 –