【发布时间】:2014-05-30 08:09:47
【问题描述】:
我有一个带有 JTextField 的 JOptionPane:
private void imageFilePanel(){
JRadioButton go = new JRadioButton("Grid Object");
JRadioButton ti = new JRadioButton("Tile Image");
JTextField fn = new JTextField(15);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
panel.add(fn);
panel.add(go);
panel.add(ti);
JOptionPane.showOptionDialog(null, panel, "Name Image", JOptionPane.CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null);
if(fn.getText().equals("") || !(go.isSelected()) && !(ti.isSelected())){
JOptionPane.showMessageDialog(frame, "Complete required fields.", "Error Message", JOptionPane.ERROR_MESSAGE);
imageFilePanel();
}
}
我不希望用户继续下一步,除非他们填写 JTextField“fn”并选择其中一个 JRadioButtons(“go”或“ti”)。
但是,当用户单击窗口关闭或取消按钮时,我的代码现在会执行 if 语句。这不是我想要的行为;我希望仅在用户尝试按下“确定”按钮而不填写“fn”、不选择“go”或“ti”或两者都不选择时才评估 if 语句。
欢迎任何建议!
【问题讨论】:
标签: java swing dialog joptionpane