我的意图 - 创建一个框架,添加一个按钮。单击该按钮时,会出现一个带有自定义按钮和文本字段的模态对话框。从此对话框中获取用户输入。关闭对话框并将值传递给帧控件。
问题 - 我在创建无模式对话框时成功实现了这一点,但这不适用于模态对话框:
使用时,无模式对话框,单击对话框上的OK按钮,将值传递给框架并关闭对话框。但是当将对话框设置为modal = true时,对话框上的OK按钮不起作用
我用过的代码:
JButton diabtn = new JButton("Dialog");
diabtn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
final JDialog dialog = new JDialog((JFrame)null,"Dia Window",true);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setSize(350,200);
JLabel dialbl1 = new JLabel("Enter your name");
JButton diaok = new JButton("OK");
final JTextField diatxt = new JTextField(20);
diaok.setSize(60,60);
dialog.setLayout(new FlowLayout());
dialog.add(dialbl1);
dialog.add(diatxt);
dialog.add(diaok);
dialog.setVisible(true);
// adding listener for button on the dialog
diaok.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
String tempval = diatxt.getText();
lblDialogValue.setText(tempval);
dialog.dispose();
}
});
}
});