首页 文章

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

提问于
浏览
0

我正在为一个学校项目做一个国际象棋游戏 . 当你宣传一个棋子时,它会打开一个对话框,允许玩家选择他们想要推广的棋子 . 但是,当玩家点击“取消”或“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;
}

1 回答

  • 0

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

    您无法删除关闭按钮,但可以通过添加以下命令阻止关闭按钮执行任何操作:

    dialog.setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
    

    或者,如果您真的想使用JOptionPane,请查看Stopping a Dialog From Closing上Swing教程中的部分,其中显示了如何检查以确保输入了有效值 .

相关问题