选中一个复选框,并检查与其相关的文本字段是否填充了输入
chckbxDictionary = new JCheckBox();
txtDictionaryStartPage = new JTextField();
JButton btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(chckbxDictionary.isSelected()){
if(txtDictionaryStartPage.getText().equals("")){
int type=JOptionPane.showConfirmDialog(null, "enter start page", "", JOptionPane.OK_CANCEL_OPTION);
if(type==JOptionPane.OK_OPTION){
//if ok return to frame and focus txtDictionaryStartPage for user input
}
}
}
}
}
在确认对话框上单击确定按钮后,我想返回到jframe并聚焦所需的文本字段以供用户输入输入并等到输入输入。
答案 0 :(得分:0)
根据JavaDoc
:
public boolean requestFocusInWindow()
请求此组件 获得输入焦点。请参阅Component.requestFocusInWindow()获取 这种方法的完整描述。如果你想要更多 有关焦点的信息,请参阅如何使用焦点子系统 Java教程。
所以在你的情况下,你可以这样做:
assertThat(module.selectedClients.size()).isEqualTo("0")
答案 1 :(得分:0)
如果他们在同一个班级,你可以这样做:
chckbxDictionary = new JCheckBox();
txtDictionaryStartPage = new JTextField();
JButton btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(chckbxDictionary.isSelected()){
if(txtDictionaryStartPage.getText().equals("")){
int type=JOptionPane.showConfirmDialog(null, "enter start page", "", JOptionPane.OK_CANCEL_OPTION);
if(type==JOptionPane.OK_OPTION){
txtDictionaryStartPage.requestFocusInWindow();
frame.setVisible(true);
}
}
}
}
}
我不确定部件frame.setVisible(true);
是否必需,但请尝试。如果你把它放在你的代码中,它无论如何也不会受到伤害。
答案 2 :(得分:0)
showConfirmDialog
的第一个参数应从null
更改为btnSubmit
int type=JOptionPane.showConfirmDialog(btnSubmit, "enter start page", "", JOptionPane.OK_CANCEL_OPTION);
if(type==JOptionPane.OK_OPTION){
txtDictionaryStartPage.requestFocusOnWindow();
}