从 Swing 中的对话框中删除取消按钮和"X"



我目前正在为一个学校项目开发一款国际象棋游戏。当你升级一个棋子时,它会打开一个对话框,让玩家选择他们想升级到哪个棋子。然而,当玩家单击"取消"或"X"时,该框只会返回null,用户无法升级他们的棋子。我想知道是否可以删除/禁用取消按钮和"X"按钮。这是我的代码:

private String createDialog() {
hideLabels();
Object[] options = {"Queen", "Knight", "Bishop", "Rook"};
String selection = (String)JOptionPane.showInputDialog(frame, "What would you like to promote to?, ", "Promote", JOptionPane.PLAIN_MESSAGE, null, options, options[0]);
return selection;
}

您可以创建自己的自定义JDialog,并将自己的组件和按钮添加到对话框中,而不是使用对功能没有太多控制权的JOptionPane。

你不能删除关闭按钮,但你可以通过添加来阻止关闭按钮做任何事情

dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);

或者,如果您真的想使用JOptionPane,请查看Swing教程中关于停止对话框关闭的部分,该部分显示了如何检查以确保输入了有效值。

最新更新