JOptionPane.showMessageDialog(null,"正在返回登录界面......"); System.out.println("准备关闭管理页面"); setVisible(false);//关闭管理界面 DemoTest dt=new DemoTest(); //打开登录界面 dt.lunchFram();//调用方法——创建登录页面 System.out.println("我最帅666"); break; // JOptionPane.showMessageDialog(null, "即将跳转到登录页面......"); // DemoTest dt=new DemoTest(); //打开登录界面 // dt.lunchFram();//调用方法——创建登录页面 // setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); // dispose();
时间: 2024-02-14 19:35:29 浏览: 19
这是一段 Java 代码,用于在用户点击某个按钮后,关闭当前界面并跳转到登录界面。具体实现是通过创建一个 DemoTest 对象,并调用其 lunchFram() 方法来创建登录页面。同时,先在当前界面弹出一个对话框,提示用户正在返回登录界面,然后在控制台打印出一条信息。最后使用 break 语句跳出循环,确保此代码段只被执行一次。
相关问题
JOptionPane.showMessageDialog如何自定义对话框的按钮,请给出一个实例说明
可以使用JOptionPane.showOptionDialog方法来自定义对话框的按钮。以下是一个示例:
```java
import javax.swing.*;
public class CustomDialogExample {
public static void main(String[] args) {
String[] options = {"Yes", "No", "Cancel"};
int choice = JOptionPane.showOptionDialog(null, "Do you want to save changes?",
"Save Changes", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,
null, options, options[0]);
switch (choice) {
case JOptionPane.YES_OPTION:
System.out.println("Save changes");
break;
case JOptionPane.NO_OPTION:
System.out.println("Don't save changes");
break;
case JOptionPane.CANCEL_OPTION:
System.out.println("Cancel");
break;
default:
System.out.println("Unknown choice");
}
}
}
```
在这个例子中,我们使用JOptionPane.showOptionDialog方法来创建一个对话框。该方法要求提供多个选项和一个默认选项。在这个例子中,我们提供了三个选项:Yes、No、Cancel,并将Yes作为默认选项。当用户点击对话框上的按钮时,showOptionDialog方法将返回一个整数值,表示用户所选的选项。我们使用switch语句根据用户的选择执行相应的操作。
通过这种方式,我们可以自定义对话框的按钮,并在用户点击按钮时进行相应的操作。
Surrender.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub int j=JOptionPane.showConfirmDialog(null, "是否投降","是",JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE); if(j==JOptionPane.YES_OPTION){ boolean isBlack = false; if(isBlack==true){ JOptionPane.showMessageDialog(null, "黑方胜利"); } else { JOptionPane.showMessageDialog(null, "红方胜利"); } } showConfirmDialog(null, "是否开始下一局","是",JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE); if(j==JOptionPane.YES_OPTION){ c.initMap(); c.repaint();//新游戏后,出棋先后顺序互换 c.select_c = -1; c.select_r = -1; c.isBlack=!c.isBlack; //System.out.println("点击\n"); } else{ System.exit(0); } } });这段java代码怎么改
这段 Java 代码的主要问题是在 `showConfirmDialog` 方法前面没有加上 `JOptionPane.` 前缀,应该改为 `JOptionPane.showConfirmDialog`。
此外,在 `if(j==JOptionPane.YES_OPTION)` 的代码块中,变量 `isBlack` 被设置为了 `false`,然后又用 `if(isBlack==true)` 进行了判断,这里的判断实际上永远不会成立,应该将变量 `isBlack` 的值根据当前的情况进行设定。
最后,在弹出确认对话框后,应该将用户的选择结果保存到变量 `j` 中,然后根据 `j` 的值来进行下一步操作。修改后的代码如下:
```
Surrender.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int j = JOptionPane.showConfirmDialog(null, "是否投降", "投降", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (j == JOptionPane.YES_OPTION) {
boolean isBlack = c.isBlack();
if (isBlack) {
JOptionPane.showMessageDialog(null, "黑方胜利");
} else {
JOptionPane.showMessageDialog(null, "红方胜利");
}
}
j = JOptionPane.showConfirmDialog(null, "是否开始下一局", "下一局", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (j == JOptionPane.YES_OPTION) {
c.initMap();
c.repaint();
c.select_c = -1;
c.select_r = -1;
c.setBlack(!c.isBlack());
} else {
System.exit(0);
}
}
});
```