【发布时间】:2017-10-27 19:21:18
【问题描述】:
我正在尝试使用来自用户的输入创建一个自定义对话框,在每个步骤(输入)之后验证信息,如果正确,则会出现一个新面板,用户可以继续添加信息。为此,我正在使用 JOptionPane。我将有三个按钮“确定”,仅当用户通过整个输入过程“下一步”才启用,以检查输入的信息是否正确并显示一个新窗格,最后是“取消”,以取消。如下所示:
现在如果我点击任何一个按钮,对话框就会关闭,我应该如何改变它?
到目前为止我的代码(大部分):
public MakeBookingForm()
{
components = new ArrayList<>();
this.title = "Make Booking";
setMessageType(JOptionPane.PLAIN_MESSAGE);
setRootPane(null);
setOptions(new String[] { "OK", "Next", "Cancel" });
setOptionSelection(0);
JPanel roomNumPanel = new JPanel();
lblRoomNum = new JLabel( "Enter the booking number" );
roomNumPanel.add(lblRoomNum);
txtFldRoomNum = new JTextField(20);
roomNumPanel.add(txtFldRoomNum);
this.addComponent(roomNumPanel);
}
public void show() //the function i use to show the form
{
int optionType = JOptionPane.OK_CANCEL_OPTION;
//JOptionPane.OK_OPTION
Object optionSelection = null;
if(options.length != 0)
{
optionSelection = options[optionIndex];
}
int selection = JOptionPane.showOptionDialog(rootPane,
components.toArray(), title, optionType, messageType, null,
options, optionSelection);
System.out.println(selection);
//return selection;
}
【问题讨论】:
-
你的代码是?
-
"我的代码到目前为止(大部分):"为了尽快获得更好的帮助,请发布minimal reproducible example 或Short, Self Contained, Correct Example。
标签: java swing joptionpane