单击确定时可以选择其他选项,单击取消时可以选择其他选项吗?如果我有这种JOptionPane,如果我可以这样做,我该如何实现呢?
JOptionPane.showConfirmDialog(frame,"Message",JOptionPane.OK_CANCEL_OPTION);
答案 0 :(得分:4)
您可以从JOptionPane.showConfirmDialog()
获取int
的返回值,并将其与JOptionPane
中可用的常量进行比较,以确定下一步操作。
int action = JOptionPane.showConfirmDialog(...);
if(action == JOptionPane.CANCEL_OPTION){ // something }
SSCCE:
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
public class JExample {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run(){
int action = JOptionPane.showConfirmDialog(null,
"Click Something, Moron!",
"Y U NO Click!",
JOptionPane.YES_NO_CANCEL_OPTION);
if(action == JOptionPane.YES_OPTION){
System.out.println("YES!");
}else if(action == JOptionPane.NO_OPTION){
System.out.println("NO!");
}else{
System.out.println("CANCEL!");
}
}
});
}
}
答案 1 :(得分:4)
您阅读了JavaDocs
public static int showConfirmDialog(Component parentComponent, Object message) throws HeadlessException
打开一个包含选项Yes,No和Cancel的对话框;随着 标题,选择一个选项。
参数:
parentComponent
- 确定对话框所在的框架 显示;如果为null,或者如果parentComponent没有Frame,则为默认值 框架用于message
- 要显示的对象返回:
一个整数,表示用户选择的选项
当它无法帮助您时,您可以查看教程,例如How to Make Dialogs
答案 2 :(得分:0)
你也可以这样做。
if(JOptionPane.showConfirmDialog(null, "Bla bla", "Bla bla", JOptionPane) == 0){
System.out.println("YES");
//The value zero represents index of first option which will be the YES option
}
else if(JOptionPane.showConfirmDialog(null, "Bla bla", "Bla bla", JOptionPane) == 1){
System.out.println("NO");
//The value one represents index of second option which will be the NO option
}
您可以删除索引编号并替换为您具有的格式,使其如下所示:
if(JOptionPane.showConfirmDialog(null, "Bla bla", "Bla bla", JOptionPane) == JOptionPane.YES_OPTION){
System.out.println("YES");
option
}
else if(JOptionPane.showConfirmDialog(null, "Bla bla", "Bla bla", JOptionPane) == JOptionPane.NO_OPTION){
System.out.println("NO");
option
}
您可以访问此YouTube链接以获取更多帮助JOptionPane Tutorial